利用差值来计算,详情见代码注释。
```#include<bits/stdc++.h>
using namespace std;
int z[110000];//早上的甜蜜值
int w[110000];//晚上的甜蜜值
int x[110000];//早晚差值
int n,k;
int main()
{
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>z[i];
}
for(int i=0;i<n;i++)
{
cin>>w[i];
}
long long ans=0;
for(int i=0;i<n;i++)
{
ans+=w[i];//所有晚上的甜蜜值相加
x[i]=z[i]-w[i];
}
sort(x+0,x+n);//对差值排序
for(int i=n-1;i>n-1-k;i--)//加入k个最大差值
{
ans+=x[i];
}
cout<<ans;
}

京公网安备 11010502036488号