Cod sursa(job #1720452)

Utilizator andi12Draghici Andrei andi12 Data 22 iunie 2016 16:09:21
Problema Tribute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <cstdio>
#include<algorithm>
using namespace std;
const int N=50005;
int x[N],y[N],frecx[N],frecy[N];
int main()
{
    FILE *in,*out;
    in=fopen("tribute.in","r");
    out=fopen("tribute.out","w");
    int n,dx,dy,i,ctx=0,cty=0,distx=0,disty=0,dist;
    fscanf(in,"%d%d%d",&n,&dx,&dy);
    for(i=1;i<=n;i++)
    {
        fscanf(in,"%d%d",&x[i],&y[i]);
        frecx[x[i]]++;
        frecy[y[i]]++;
    }
    sort(x+1,x+n+1);
    sort(y+1,y+n+1);
    for(i=1;i<=n;i++)
    {
        if(x[i]>dx)
            distx=distx-dx+x[i];
        if(y[i]>dy)
            disty=disty-dy+y[i];
    }
    dist=distx;
    for(i=1;i<=n-dx;i++)
    {
        dist=dist-frecx[i-1];
        dist=dist+frecx[i+dx];
        if(dist<distx)
            distx=dist;
    }
    dist=disty;
    for(i=1;i<=n-dy;i++)
    {
        dist=dist-frecy[i-1];
        dist=dist+frecy[i+dy];
        if(dist<disty)
            disty=dist;
    }
    fprintf(out,"%d",distx+disty);
    return 0;
}