Cod sursa(job #781119)

Utilizator NicuCJNicu B. NicuCJ Data 23 august 2012 14:18:08
Problema Lupul Urias si Rau Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <algorithm>
#include <queue>
#define x first
#define y second
using namespace std;
 
pair <int, int> vect[100001];
 
priority_queue<int, vector<int>, less<int> > heap;
 
int n, i, sum, distMax, distTura, j;
 
bool functieComp(pair<int, int> A, pair<int, int> B)
{
    if(A.x<B.x)
        return true;
    return false;
}
 
int main()
{
 
    ifstream f("lupu.in");
    ofstream g("lupu.out");
 
    f>>n>>distMax>>distTura;
 
    for(i=1; i<=n; ++i)
    {
        f>>vect[i].x>>vect[i].y;
    }
 
    sort(vect+1, vect+n+1, functieComp);
    j=1;
    for(i=0; i<=distMax; i+=distTura)
    {
        for(;vect[j].x<=i/*+distTura*/ && j<=n; j++)
        {
            heap.push(vect[j].y);
        }
		if(heap.size())
		{
        sum+=heap.top();
        heap.pop();
		}
    }
    g<<sum;
}