Pagini recente » Cod sursa (job #1987467) | Cod sursa (job #1521821) | Cod sursa (job #2743880) | Cod sursa (job #486037) | Cod sursa (job #1050800)
#include <cstdio>
#include <set>
#include <vector>
#include <algorithm>
#define s second
#define f first
using namespace std;
multiset <int> h;
vector <pair<int,int> > a;
pair <int,int> o;
multiset <int>::iterator it;
using namespace std;
int x,i,sol,l,j,poz,lan,n,timp,t;
int main()
{
freopen("lupu.in","r",stdin);
freopen("lupu.out","w",stdout);
scanf("%d %d %d",&n,&x,&l);
for(i=1; i<=n; i++)
{
scanf("%d %d",&poz,&lan);
if(poz<=x)
{
timp=(x-poz)/l+1;
a.push_back(make_pair(timp,lan));
}
}
sort(a.begin(), a.end());
reverse(a.begin(), a.end());
o=*(a.begin());
j=o.f;
i=1;
for(t=j; t>=1; t--)
{
while(a[i].f==t)
{h.insert(a[i].s);
i++;
}
it=h.end();
it--;
sol+=*it;
h.erase(it);
}
return 0;
}