Cod sursa(job #1628484)

Utilizator refugiatBoni Daniel Stefan refugiat Data 4 martie 2016 07:21:58
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("tribute.in");
ofstream so("tribute.out");
int l[50005];
int c[50005];
int main()
{
    int n,x,y;
    si>>n>>x>>y;
    int i;
    int a,b;
    int suml=0,sumc=0;
    int conts=0,contd=0;
    int contsc=0,contdc=0;
    for(i=0;i<n;++i)
    {
        si>>a>>b;
        ++l[a];
        if(a>x)
        {
            suml+=(a-x);
            ++contd;
        }
        ++c[b];
        if(b>y)
        {
            sumc+=(b-y);
            ++contdc;
        }
    }
    int minn=suml;
    for(i=x+1;contd;++i)
    {
        suml-=contd;
        contd-=l[i];
        conts+=l[i-x-1];
        suml+=conts;
        minn=min(minn,suml);
    }
    suml=minn;

    minn=sumc;
    for(i=y+1;contdc;++i)
    {
        sumc-=contdc;
        contdc-=c[i];
        contsc+=c[i-y-1];
        sumc+=contsc;
        minn=min(minn,sumc);
    }
    so<<suml+minn<<'\n';
    return 0;
}