https://ac.nowcoder.com/acm/contest/19850/B
#include<bits/stdc++.h>
using namespace std;
struct node
{
int light; //早上的能量
int dark; //晚上的能量
int z;//差值
}jk[100005];
bool camp(node x,node y)
{
if(x.z==y.z) {return x.light>y.light; }
else {return x.z>y.z;}
}
int main()
{
int n;//一天要吃的数量;
int k;// 早上要吃的数量;
scanf("%d%d",&n,&k);
int l[100005];
int d[100005];
//int z2[100000];
int sum=0;
//录入白天
for(int i=1;i<=n;i++)
{
int o1;
scanf("%d",&o1);
l[i]=o1;
}
//录入晚上
for(int i=1;i<=n;i++)
{
int o2;
scanf("%d",&o2);
d[i]=o2;
}
for(int i=1;i<=n;i++)
{
//赋值到各结构体中
jk[i].light=l[i];
jk[i].dark=d[i];
int o3=jk[i].light-jk[i].dark;
jk[i].z=o3;
//cout<<jk[i].z<<" "<<jk[i].light<<" "<<jk[i].dark<<endl;
}
sort(jk+1,jk+n+1,camp);
//cout<<endl;
//cout<<jk[1].z<<" "<<jk[1].light<<" "<<jk[1].dark<<endl;
//cout<<jk[2].z<<" "<<jk[2].light<<" "<<jk[2].dark<<endl;
//cout<<jk[3].z<<" "<<jk[3].light<<" "<<jk[3].dark<<endl;
//早上摄入
for(int i=1;i<=k;i++)
{
sum=sum+jk[i].light;
}
//晚上摄入
for(int i=k+1;i<=n;i++)
{
sum=sum+jk[i].dark;
}
cout<<sum;
}
我用ac的代码去对拍,对拍数据都对了但提交就是错误