Cod sursa(job #2702928)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 6 februarie 2021 12:21:04
Problema Lupul Urias si Rau Scor 92
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
//
// Created by Toma Ariciu
// Copyright Ⓒ 2021 Toma Ariciu. All rights reserved.
//

#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>

using namespace std;

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

struct oaie {
    int dist, lana;
}v[100005];

int n,x,l;
long long ans;
priority_queue <int> heap;

bool cmp(oaie a, oaie b)
{
    return a.dist < b.dist;
}
void citire()
{
    fin>>n>>x>>l;
    for(int i=1; i<=n; i++)
    {
        fin>>v[i].dist>>v[i].lana;
    }
}

void solve()
{
    sort(v+1, v+n+1, cmp);
    int j=1;
    for(int i=0; i<=x; i=i+l)
    {
        while(v[j].dist <= i)
        {
            heap.push(v[j].lana);
            j++;
        }
        if(!heap.empty())
        {
            ans=ans+heap.top();
            heap.pop();
        }
    }
    fout<<ans;
}

int main()
{
    citire();
    solve();
    return 0;
}