Pagini recente » Cod sursa (job #1464613) | Cod sursa (job #321158) | Cod sursa (job #1867177) | Cod sursa (job #835517) | Cod sursa (job #1624636)
#include <fstream>
#define x first
#define y second
#define DIM 50002
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int f[DIM],s[DIM],ps[DIM],pd[DIM],minim[3],n,dx,dy,t,i;
pair <int , int > p[DIM];
int d[DIM],st;
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]++;
}
dx=dy;
}
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;
}