Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
110971 | 吴宗桦 | K 次取反后最大化的数组和 | C++ | 通过 | 100 | 0 MS | 260 KB | 436 | 2023-11-18 08:37:19 |
#include<iostream> using namespace std; int main() { int a,b,c,d[1005],e[3005]={0},f=0,g; cin>>a>>b; for(c=1;c<=a;c++) { cin>>d[c]; e[d[c]+1000]++; f+=d[c]; } for(c=1;c<=b;c++) { for(g=1;g<=3000;g++) if(e[g]>=1) { f+=(1000-g)*2; e[g]--; if(g>1000) e[g-1000]++; else if(g<1000) e[g+1000]++; else e[g]++; break; } } cout<<f; return 0; }