Pagini recente » Cod sursa (job #741418) | Cod sursa (job #66726) | Cod sursa (job #916364) | Cod sursa (job #199809) | Cod sursa (job #675971)
Cod sursa(job #675971)
#include<fstream>
using namespace std;
ifstream in("tribute.in");
ofstream out("tribute.out");
const int N = 50001;
int nrx[N],nry[N];
int sum[N];
int calcul(int d,int nr[N])
{
int scor=0,min,i;
sum[0]=nr[0];
for(i=1;i<N;i++)
sum[i]=sum[i-1]+nr[i];
for(i=d+1;i<N;i++)
scor+=nr[i]*(i-d);
min=scor;
for(i=1;i+d<N;i++)
{
scor+=sum[i-1]-(sum[N-1]-sum[i+d-1]);
if(scor<min)
min=scor;
}
return min;
}
int main()
{
int x,y,n,i,dx,dy;
in>>n>>dx>>dy;
for(i=1;i<=n;i++)
{
in>>x>>y;
nrx[x]++;
nry[y]++;
}
out<<calcul(dx,nrx)+calcul(dy,nry)<<'\n';
return 0;
}