Pagini recente » Cod sursa (job #1213389) | Cod sursa (job #2594372) | Cod sursa (job #878325) | Cod sursa (job #1624647)
#include <fstream>
#define x first
#define y second
#define DIM 50002
using namespace std;
int f[DIM],s[DIM],ps[DIM],pd[DIM],n,dx,dy,t,i,minim[3];
int st,d[DIM];
pair<int, int> p[DIM];
ifstream fin ("tribute.in");
ofstream fout ("tribute.out");
int main (){
fin>>n>>dx>>dy;
for (i=1;i<=n;i++)
fin>>p[i].x>>p[i].y;
for (t=1;t<=2;t++){
for (i=0;i<=50000;i++)
f[i] = 0;
for (i=1;i<=n;i++){
if (t == 1)
f[ p[i].x ]++;
else
f[ p[i].y ]++;
}
s[0] = 0;
ps[0] = f[0];
for (i=1;i<=50000;i++){
s[i] = s[i-1] + ps[i-1];
ps[i] = ps[i-1] + f[i];
}
d[50000] = 0;
pd[50000] = f[50000];
for (i=49999;i>=0;i--){
d[i] = d[i+1] + pd [i+1];
pd[i] = pd[i+1] + f[i];
}
minim[t] = 2000000000;
for (st = 0;st+dx<=50000;st++){
if (minim[t] > s[st] + d[st+dx])
minim [t] = s[st] + d[st+dx];
}
dx = dy;
}
fout<<minim[1] + minim[2];
return 0;
}