Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
110995 | 朱悦晨 | K 次取反后最大化的数组和 | C++ | 通过 | 100 | 0 MS | 252 KB | 431 | 2023-11-18 08:56:07 |
#include<bits/stdc++.h> using namespace std; long long n,k,nums[1010]; int main() { cin>>n>>k; for(int i=1;i<=n;i++) cin>>nums[i]; for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ if(nums[i]>nums[j]) swap(nums[i],nums[j]); } } for(int i=1;i<=k;i++){ if(nums[i] == 0) break; nums[i] = -nums[i]; } long long sum = 0; for(int i=1;i<=n;i++){ sum += nums[i]; } cout<<sum<<endl; return 0; }