Cod sursa(job #2453754)

Utilizator PaulOrasanPaul Orasan PaulOrasan Data 5 septembrie 2019 17:44:12
Problema Lupul Urias si Rau Scor 52
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <queue>
using namespace std;

ifstream fin("lupu.in");
ofstream fout("lupu.out");

const int NMAX=100005;
int n,x,l,a[NMAX],t[NMAX];
int tmax;
long long int sol;
priority_queue <int> q;
void citire()
{
    fin>>n>>x>>l; int d;
    for (int i=1; i<=n; i++){
        fin>>d>>a[i];
        t[i]=1+(x-d)/l;
    }
}
void stabTMax()
{
    for (int i=1; i<=n; i++)
        if (t[i]>tmax)
            tmax=t[i];
}
void rezolvare()
{
    for (int j=tmax; j>=1; j--){
        for (int k=1; k<=n; k++){
            if (t[k]==j)
                q.push(a[k]);
        }
        if (!q.empty()){
                sol+=q.top();
                q.pop();
        }
    }
}
int main()
{
    citire();
    stabTMax();
    rezolvare();
    fout<<sol;
}