Cod sursa(job #727251)

Utilizator lily3Moldovan Liliana lily3 Data 27 martie 2012 20:16:26
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#include<algorithm>
using namespace std;
ofstream g("tribute.out");

int i,j,n,mx,my,dx,dy,x,y,apx[50010],apy[50010];
unsigned long long sol;
int det(int a[],int m,int d)
{
	int i,min1,sum=0,s1=0,s2=0;
	for(i=d+1;i<=m;++i)
	{
		sum+=a[i];
		s1+=a[i]*(i-d);
	}
	min1=s1;
	for(i=1;i<=m-d;++i)
	{
		s2+=a[i-1];
		s1=s1+s2-sum;
		sum-=a[i+d];
		min1=min(min1,s1);
	}
	return min1;
}
int main()
{
	FILE *f=fopen("tribute.in","r");
	
	fscanf(f,"%d%d%d",&n,&dx,&dy);
	mx=my=0;
	for(i=1;i<=n;++i)
	{
		fscanf(f,"%d%d",&x,&y);
		++apx[x];
		++apy[y];
		mx=max(x,mx);
		my=max(my,y);
	}
	sol=det(apx,mx,dx)+det(apy,my,dy);
	g<<sol;
	return 0;
}