Pagini recente » Cod sursa (job #1054399) | Cod sursa (job #2628829) | Cod sursa (job #3262676) | Cod sursa (job #1439221) | Cod sursa (job #1624634)
#include <fstream>
#define x first
#define y second
#define DIM 50002
using namespace std;
int f[DIM], S[DIM], D[DIM], PS[DIM], PD[DIM], minim[3];
int n, dx, dy, t, i, st;
pair<int, int> p[DIM];
int main () {
ifstream fin ("tribute.in");
ofstream fout("tribute.out");
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;
}