一道贪心算法,想知道哪里错了或者怎么改

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的代码去对拍,对拍数据都对了但提交就是错误