Cod sursa(job #489329)

Utilizator Balmus_MaximBalmus Maximilian Balmus_Maxim Data 2 octombrie 2010 11:43:55
Problema Tribute Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <math.h>
using namespace std;

#define maxn 50010

int n,ci,cj,vi[maxn],vj[maxn],vii,vij;

int msp(int v[],int lg)
{
	int i,max=0,s1=0,s2=0,re=0;
	for(i=1+lg;i<=10010;i++){
		re=re+v[i]*(i-lg);
		s1+=v[i];
	}
	max=re;
	for(i=1;i+lg<=10010;i++){
		s2+=v[i-lg];
		re+=s2-s1;
		s1-=v[i+lg];
		if(re<max){
			max=re;
		}
	}
	return max;
};
		

int main()
{
	freopen("tribute.in","r",stdin);
	freopen("tribute.out","w",stdout);
	scanf("%d",&n);
	scanf("%d",&ci);
	scanf("%d",&cj);
	int i;
	for(i=1;i<=n;i++){
		scanf("%d",&vii);
		scanf("%d",&vij);
		vi[vii]++;
		vj[vij]++;
	}
	long suma;
	suma=msp(vi,ci);
	suma+=msp(vj,cj);
	printf("%ld",suma);
	return 0;
}