Cod sursa(job #2566553)

Utilizator victorzarzuZarzu Victor victorzarzu Data 2 martie 2020 21:56:45
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define oo 50000
using namespace std;
ifstream f("tribute.in");
ofstream g("tribute.out");
int n, dx, dy, x, y, xmax, ymax, xmin = 2e9, ymin = 2e9;
int dsx[oo + 1], ddx[oo + 1], djy[oo + 1], dsy[oo + 1], fx[oo + 1], fy[oo + 1];
void Read(){f>>n>>dx>>dy;for(int i = 1;i <= n;++i){f>>x>>y;fx[x]++;fy[y]++;}}
void Solve(){int sumx, sumy;sumx = fx[0];sumy = fy[0];for(int i = 1;i <= oo;++i){dsx[i] = dsx[i - 1] + sumx;sumx += fx[i];djy[i] = djy[i - 1] + sumy;sumy += fy[i];}sumx = fx[oo];sumy = fy[oo];for(int i = oo - 1;i >= 0;--i){ddx[i] = ddx[i + 1] + sumx;sumx += fx[i];dsy[i] = dsy[i + 1] + sumy;sumy += fy[i];}for(int i = 0;i <= oo - dx;++i)xmin = min(xmin, dsx[i] + ddx[i + dx]);for(int i = 0;i <= oo - dy;++i)ymin = min(ymin, djy[i] + dsy[i + dy]);g<<xmin + ymin<<'\n';g.close();}
int main(){Read();Solve();return 0;}