nyoj+multiset的使用+数据要用long long

来源:互联网 发布:alpine linux 添加源 编辑:程序博客网 时间:2024/06/07 14:45
点击打开链接
#include<iostream>#include<algorithm>#include<cstdio>#include<string.h>#include<set>using namespace std;int main(){int ncase, fruit, num, i;scanf("%d", &ncase);while(ncase--){multiset<int> v; //可重复的多元集合                long long sum = 0;///要用long long 啊不然会wrong answerscanf("%d", &fruit);for(i = 0; i < fruit; ++i){scanf("%d", &num);v.insert(num); //插入一次自动排序一次}while(v.size() != 1){int tmp1, tmp2;tmp1 = *v.begin(); v.erase(v.begin());tmp2 = *v.begin(); v.erase(v.begin());sum += (tmp1 + tmp2);v.insert(tmp1 + tmp2);}printf("%lld\n", sum);}return 0;}

0 0
原创粉丝点击