Cod sursa(job #1622919)

Utilizator RaduMirceaAndreiRadu Mircea Andrei RaduMirceaAndrei Data 1 martie 2016 15:48:59
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
# include <fstream>
# define DIM 50010
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int val,minim1,minim2,nr,n,dx1,dy1,x[DIM+10],y[DIM+10],sx[DIM+10],sy[DIM+10],dx[DIM+10],dy[DIM+10],x1,y1,i;
int main () {
    fin>>n>>dx1>>dy1;
    for(i=1;i<=n;i++){
        fin>>x1>>y1;
        x1++;
        y1++;
        x[x1]++;
        y[y1]++;
    }
    for(i=1;i<=DIM;i++){
        sx[i]=sx[i-1]+nr;
        nr+=x[i];
    }
    nr=0;
    for(i=DIM;i>=1;i--){
        dx[i]=dx[i+1]+nr;
        nr+=x[i];
    }
    nr=0;
    for(i=1;i<=DIM;i++){
        sy[i]=sy[i-1]+nr;
        nr+=y[i];
    }
    nr=0;
    for(i=DIM;i>=1;i--){
        dy[i]=dy[i+1]+nr;
        nr+=y[i];
    }
    minim1=2000000000;
    minim2=2000000000;
    for(i=1;i<=DIM-dx1;i++){
        val=sx[i]+dx[i+dx1];
        if(val<minim1)
            minim1=val;
    }
    for(i=1;i<=DIM-dy1;i++){
        val=sy[i]+dy[i+dy1];
        if(val<minim2)
            minim2=val;
    }
    fout<<minim1+minim2<<"\n";
    return 0;
}