Cod sursa(job #2785651)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 19 octombrie 2021 10:07:56
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("tribute.in");
ofstream G("tribute.out");
int x[50005],y[50005],n,a,b,i;
int A(int x[],int a)
{
	int k=0,j=0,m=1e9,z[50005]={0},p[50005],r[50005],i;
	sort(x+1,x+n+1);
	if(a>=x[n]-x[1])
      	return 0;
	for(i=1;i<=n;++i)
      	++z[x[i]+1];
	z[x[1]]=p[x[1]]=r[x[1]]=0;
	for(i=x[1];i<=x[n]-a;++i)
		j+=z[i],p[i+1]=p[i]+j,k+=z[x[n]-i+2],r[i+1]=r[i]+k;
	for(i=x[1];i<=x[n]-a;++i)
        m=min(m,p[i+1]+r[x[n]-a-i+1]);
	return m;
}
int main()
{
	F>>n>>a>>b;
	for(i=1;i<=n;++i)
      	F>>x[i]>>y[i];
	G<<A(x,a)+A(y,b);
	return 0;
}