Cod sursa(job #2526572)

Utilizator RedXtreme45Catalin RedXtreme45 Data 18 ianuarie 2020 20:07:24
Problema Tribute Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <algorithm>
#include <cstring>
#define Nmax 100004
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int n,dx,dy;
int x[Nmax],y[Nmax],S;
void rezolvare (int c[],int start){
    int lim=50001+start+1;
    int st[Nmax],dr[Nmax];
    memset(st,0,sizeof st);
    memset(dr,0,sizeof dr);
    int nr=st[0];
    for (int i=1;i<=lim;i++)
    {
        st[i]+=st[i-1]+nr;
        nr+=c[i];
    }
    nr=0;
    for (int i=lim;i>=0;i--)
    {
        dr[i]+=dr[i+1]+nr;
        nr+=c[i];
    }
    int sol=1000000000;
    for (int i=1;i<=lim-start;i++)
    {
        sol=min(st[i]+dr[i+start],sol);
    }
    S+=sol;
}
int main()
{
    int i,a,b;
    fin>>n>>dx>>dy;
    for (i=1;i<=n;i++)
    {
        fin>>a>>b;
        x[a]++;
        y[b]++;
    }
    rezolvare(x,dx);
    rezolvare(y,dy);
    fout<<S;
    return 0;
}