Cod sursa(job #2260820)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 15 octombrie 2018 17:08:21
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
using namespace std;
ifstream in("tribute.in");
ofstream out("tribute.out");
const int N=50001;
long long vfx[N+1],vfy[N+1];
int main()
{
    long long n,x,y,i,a,b,min1,min2,scor=0,catest=0,catedr=0;
    in>>n>>x>>y;
    ++x;
    ++y;
    for(i=1; i<=n; i++)
    {
        in>>a>>b;
        vfx[a]++;
        vfy[b]++;
    }
    for(i=x; i<=N; i++)
    {
        scor+=(long long)vfx[i]*(i-x+1);
        catedr+=vfx[i];
    }
    min1=scor;
    for(i=1; i<=N-x+1; i++)
    {
        catest+=vfx[i-1];
        scor+=catest;
        scor-=catedr;
        if(scor<min1)
            min1=scor;
        catedr-=vfx[x+i-1];
    }
    catest=0;
    catedr=0;
    scor=0;
    for(i=y; i<=N; i++)
    {
        scor+=(long long)vfy[i]*(i-y+1);
        catedr+=vfy[i];
    }
    min2=scor;
    for(i=1; i<=N-y+1; i++)
    {
        catest+=vfy[i-1];
        scor+=catest;
        scor-=catedr;
        if(scor<min2)
            min2=scor;
        catedr-=vfy[y+i-1];
    }
    out<<min1+min2;
    return 0;
}