题解:B4468 符号选择 / opt
Solution
本题较为基础,读完题后不难发现,因为序列都是非负的,所以我们只需要让序列从大到小进行排序,让前
Code
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k;
int x[100005];
int ans;
bool cmp(int a,int b)
{
return a>b;
}
signed main()
{
scanf("%lld%lld",&n,&k);
for(int i=1;i<=n;i++)
{
scanf("%lld",&x[i]);
}
sort(x+1,x+n+1,cmp);
// for(int i=1;i<=n;i++)
// {
// printf("%lld",x[i]);
// }
for(int i=1;i<=n;i++)
{
if(i<=k)
{
ans+=x[i];
}
else
{
ans-=x[i];
}
//printf("ans: %lld\n",ans);
}
printf("%lld\n",ans);
return 0;
}
不要忘记开 long long 哦!