Pagini recente » Cod sursa (job #647855) | Cod sursa (job #1631553) | Cod sursa (job #416542) | Cod sursa (job #2469151) | Cod sursa (job #2731015)
#include <fstream>
using namespace std;
ifstream fin("tribute.in");
ofstream fout("tribute.out");
int n, lat1, lat2, t, i, pozst, x[50005], y[50005], f[50005], dr[50005], DR[50005], st[50005], ST[50005], minim[3];
int main(){
fin >> n >> lat1 >> lat2;
for ( i = 1; i <= n; i++ )
fin >> x[i] >> y[i];
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[ x[i] ]++;
else
f[ y[i] ]++;
st[0] = 0;
ST[0] = f[0];
for ( i = 1; i <= 50000; i++ ){
st[i] = st[i-1] + ST[i-1];
ST[i] = ST[i-1] + f[i];
}
dr[50000] = 0;
DR[50000] = f[50000];
for ( i = 49999; i >= 0; i-- ){
dr[i] = dr[i+1] + DR[i+1];
DR[i] = DR[i+1] + f[i];
}
minim[t] = 2000000000;
for ( pozst = 0; pozst + lat1 <= 50000; pozst++ ){
if ( minim[t] > st[pozst] + dr[pozst + lat1] )
minim[t] = st[pozst] + dr[pozst + lat1];
}
lat1 = lat2;
}
fout << minim[1] + minim[2];
return 0;
}