Pagini recente » Cod sursa (job #3267089) | Cod sursa (job #2454639) | Cod sursa (job #1611971) | Cod sursa (job #2615467) | Cod sursa (job #31232)
Cod sursa(job #31232)
#include<stdio.h>
long long int n,dx,dy,a,b,i,x[50001],y[50001],l,s[50001],ssup,sinf,j,m,solx,p,sc,soly,sol;
int main()
{
FILE *f,*g;
f=fopen("tribute.in","r");
g=fopen("tribute.out","w");
fscanf(f,"%lld%lld%lld",&n,&dx,&dy);
for(i=1;i<=n;i++)
{fscanf(f,"%lld%lld",&a,&b);
x[a]=x[a]+1;y[b]=y[b]+1;
}
l=50000;
s[0]=x[0];
for(i=1;i<=l;i++)
{s[i]=s[i-1]+x[i];}
m=dx;ssup=0;sinf=0;
for(j=m;j<=l;j++)
ssup=ssup+s[l]-s[j];
solx=ssup;
p=0;
while(ssup)
{
sinf=sinf+s[p];
ssup=ssup-s[l]+s[m+p];
sc=ssup+sinf;
if(sc<solx)solx=sc;
}
s[0]=y[0];
for(i=1;i<=l;i++)
{s[i]=s[i-1]+y[i];}
m=dy;ssup=0;sinf=0;
for(j=m;j<=l;j++)
ssup=ssup+s[l]-s[j];
soly=ssup;
p=0;
while(ssup)
{
sinf=sinf+s[p];
ssup=ssup-s[l]+s[m+p];
sc=ssup+sinf;
if(sc<soly)soly=sc;
}
sol=solx+soly;
fprintf(g,"%lld\n",sol);
fcloseall();
return 0;
}