Nu aveti permisiuni pentru a descarca fisierul grader_test4.in
Cod sursa(job #1259080)
Utilizator | Data | 9 noiembrie 2014 18:07:25 | |
---|---|---|---|
Problema | Lupul Urias si Rau | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Teme Pregatire ACM Unibuc 2014, Anul II | Marime | 0.71 kb |
#include <fstream>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
bool comp (pair<int, int> x, pair<int, int> y)
{
return x.first>y.first;
}
int main()
{
ifstream in ("lupu.in");
ofstream out ("lupu.out");
int n, x, l, D, L, i, tm=0;
int cl = 0;
vector<pair<int, int> > oi;
priority_queue <int> que;
in>>n>>x>>l;
for (i=0; i<n; i++)
{
in>>D>>L;
if(D <= x)
{
oi.push_back(make_pair((x-D)/l, L));
if ((x-D)/l > tm)
tm = (x-D)/l;
}
}
sort(oi.begin(), oi.end(), comp);
int j=0;
for(i=tm; i>=0; i--)
{
while(oi[j].first == i && j<oi.size())
que.push(oi[j++].second);
if(!que.empty())
{
cl+=que.top();
que.pop();
}
}
out<<cl;
return 0;
}