Pagini recente » Cod sursa (job #1786875) | Cod sursa (job #1553531) | Cod sursa (job #227551) | Cod sursa (job #900918) | Cod sursa (job #714045)
Cod sursa(job #714045)
#include <stdio.h>
FILE *f,*g;
long l[50002],c[50002],sl[50002][2],sc[50002][2],n,maxl,maxc,i,y,x,kl,kc,nord,sud,est,vest,j;
long long a1,a2;
int main()
{
f=fopen("tribute.in","r");
g=fopen("tribute.out","w");
fscanf(f,"%ld%ld%ld",&n,&kl,&kc);
nord=n;sud=0;est=n;vest=0;
for(i=1;i<=n;i++){fscanf(f,"%ld%ld",&x,&y);l[x]++;c[y]++;sl[0][1]+=x;sc[0][1]+=y;}
sud+=l[0];nord-=l[0];
vest+=c[0];est-=c[0];
maxl=2000000000;maxc=maxl;
for(i=1;i<=50001;i++){
sl[i][1]=sl[i-1][1]-nord;
sl[i][0]=sl[i-1][0]+sud;
sud+=l[i];nord-=l[i];
if(i>=kl){
j=sl[i][1]+sl[i-kl][0];
if(j<maxl){maxl=j;}
}
}
for(i=1;i<=50001;i++){
sc[i][1]=sc[i-1][1]-est;
sc[i][0]=sc[i-1][0]+vest;
vest+=c[i];est-=c[i];
if(i>=kc){
j=sc[i][1]+sc[i-kc][0];
if(j<maxc){maxc=j;}
}
}
a1=maxl;a2=maxc;a1+=a2;
fprintf(g,"%lld",a1);
fclose(f);fclose(g);
return 0;
}