Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
111045 | 唐钧 | K 次取反后最大化的数组和 | C++ | 通过 | 100 | 0 MS | 300 KB | 481 | 2023-11-18 09:34:43 |
//D #include<bits/stdc++.h> using namespace std; int main() { int n,k,sum1=0,sum2=0,hf; cin>>n>>k; int nums[10097]={ }; for(int i=0;i<n;i++) { cin>>nums[i]; } sort(nums,nums+n); hf=nums[0]; for(int i=0;i<k;i++) { nums[0]=-nums[0]; } for(int i=0;i<n;i++) { sum1+=nums[i]; } nums[0]=hf; for(int i=0;i<k;i++) { nums[i]=(-nums[i]); } for(int i=0;i<n;i++) { sum2+=nums[i]; } cout<<(sum2>sum1?sum2:sum1); return 0; }