Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
133867 林扬泉 K 次取反后最大化的数组和 C++ 通过 100 0 MS 248 KB 483 2024-03-02 10:08:20

Tests(3/3):


#include<bits/stdc++.h> using namespace std; const int N=1e3+10; int n,k; int a[N]; int main(){ scanf("%d%d",&n,&k); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); for(int i=1;i<=n;i++){ if(k<=0){ break; } if(a[i]<0){ a[i]=abs(a[i]); k--; } else{ if(k>=2){ k-=2; } else{ a[i]=(-a[i]); k--; } } } int sum=0; for(int i=1;i<=n;i++){ sum+=a[i]; } printf("%d\n",sum); return 0; }


测评信息: