Cod sursa(job #1320282)

Utilizator diana-t95FMI Tudoreanu Diana Elena diana-t95 Data 17 ianuarie 2015 19:53:11
Problema Lupul Urias si Rau Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
int n, x, l;
vector< pair<int, int> > v;
priority_queue<int> pq;
int main()
{
    ifstream f("lupu.in");
    ofstream g("lupu.out");
    f>>n>>x>>l;
    int d, a, i, pas;
    long long answer=0;
    v.push_back(make_pair(0,0));
    for (i=1;i<=n;i++)
    {
        f>>d>>a;
        v.push_back(make_pair((x-d)/l+1, a));
    }
    sort(v.begin(), v.end());
    pas=v[n].first;
    i=n;
    while (pas)
    {
        while (v[i].first==pas && i>0)
        {
            pq.push(v[i].second);
            i--;
        }
        if (!pq.empty())
        {answer+=pq.top();
        pq.pop();}
        pas--;
    }
    g<<answer<<'\n';
}