Pagini recente » Cod sursa (job #2490009) | Cod sursa (job #2752473) | Cod sursa (job #2689675) | Cod sursa (job #551630) | Cod sursa (job #2359405)
#include <fstream>
#define x first
#define y second
#define K 50000
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int n,t,i,dx,dy,f[K+2],S[K+2],D[K+2],PS[K+2],PD[K+2],minim[3];
pair <int,int> v[K+2];
int main(){
fin>>n>>dx>>dy;
for(i=1;i<=n;i++)
fin>>v[i].x>>v[i].y;
for(t=1;t<=2;t++){
for(i=1;i<=n;i++)
if(t==1)f[v[i].x]++;
else f[v[i].y]++;
S[0]=0; PS[0]=f[0];
for(i=1;i<=K;i++){
S[i]=S[i-1]+PS[i-1];
PS[i]=PS[i-1]+f[i];
}
D[K]=0; PD[K]=f[K];
for(i=K-1;i>=0;i--){
D[i]=D[i+1]+PD[i+1];
PD[i]=PD[i+1]+f[i];
}
minim[t]=2000000000;
for(i=0;i+dx<=K;i++)
minim[t]=min(minim[t],S[i]+D[i+dx]);
if(t==2)break;
for(i=0;i<=K;f[i]=0,i++);
dx=dy;
}
fout<<minim[1]+minim[2];
return 0;
}