Cod sursa(job #2967431)

Utilizator xXoctavianXxStanescu Matei Octavian xXoctavianXx Data 19 ianuarie 2023 17:07:15
Problema Lupul Urias si Rau Scor 72
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 1e5 + 5;
int n,x,dx,rasp;

struct oaieStr
{
    int d,l;
    bool operator < (const oaieStr &a) const
    {
        return l<a.l;
    }
} v[NMAX];

bool sortare (const oaieStr &a, const oaieStr &b)
{
    return a.d<b.d;
}

priority_queue<oaieStr> pq;

int main()
{
    fin>>n>>x>>dx;
    for(int i=0; i<n; i++)
    {
        fin>>v[i].d>>v[i].l;
    }
    sort(v,v+n,sortare);
    int lim = x%dx,i = 0;
    while(lim<=x)
    {
        for(; i<n && v[i].d <=lim; i++)
        {
            pq.push(v[i]);
        }
        cout<<pq.top().l<<" "<<pq.top().d<<"\n";
        if(!pq.empty())
        {
            rasp+=pq.top().l;
            pq.pop();
        }
        lim+=dx;
    }
    fout<<rasp;
    return 0;
}