Pagini recente » Statistici ProfCNTV (profcntv) | Cod sursa (job #391343) | Cod sursa (job #2089645) | Cod sursa (job #1633648) | Cod sursa (job #1258846)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
bool comp (pair<int, int> x, pair<int, int> y)
{
if(x.first < y.first || x.first > y.first)
return x.first<y.first;
return x.second>y.second;
}
int main()
{
ifstream in ("lupu.in");
ofstream out ("lupu.out");
int n, x, l, D, L, cl=0, al=0, i, dm=0, pm=22222222;
in>>n>>x>>l;
vector<pair<int, int> > oi;
for (i=0; i<n; i++)
{
in>>D>>L;
if(D <= x)
{
oi.push_back(make_pair((x-D)/l, L));
if (D > dm)
dm = D;
if((x-D)/l < pm)
pm = (x-D)/l;
}
}
sort(oi.begin(), oi.end(), comp);
for(i=0; i<n; i++)
{
if(oi[i].first==pm)
{
cl+=oi[i].second;
pm++;
}
if(al > dm/l)
break;
}
out<<cl;
return 0;
}