Pagini recente » Cod sursa (job #864049) | Cod sursa (job #1212087) | Cod sursa (job #1568644) | Cod sursa (job #2023028) | Cod sursa (job #834554)
Cod sursa(job #834554)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <climits>
using namespace std;
int n,dx,dy,x[50001],y[50001],sx,sy,p1=1,p2,p3=1,p4;
int main()
{
ifstream fin("tribute.in");
ofstream fout("tribute.out");
fin>>n>>dx>>dy;
for(int i=1;i<=n;i++)
fin>>x[i]>>y[i];
sort(x+1,x+n+1);
sort(y+1,y+n+1);
int st=x[1],dr=x[n];
while(dr-st>dx)
{
int i,j;
for(i=p1;x[i]<st+1;i++);
for(j=n-p2;x[j]>dr-1;j--);
p1=i-1;p2=n-j;
if(p1<p2)
{
st++;
sx+=p1;
}
else
{
dr--;
sx+=p2;
}
}
int dw=y[1],up=y[n];
while(up-dw>dy)
{
int i,j;
for(i=p3;y[i]<dw+1;i++);
for(j=n-p4;y[j]>up-1;j--);
p3=i-1;p4=n-j;
if(p3<p4)
{
dw++;
sy+=p3;
}
else
{
up--;
sy+=p4;
}
}
fout<<sy+sx;
return 0;
}