Cod sursa(job #3121592)

Utilizator piertoiTragla Matei piertoi Data 14 aprilie 2023 11:27:02
Problema Lupul Urias si Rau Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;

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

set <int , greater <int> > s;
int n,x,l,r;
struct oaie
{
    int d,lana;
}a[100001];
bool cmp(oaie A,oaie B)
{
    if(A.d>B.d)
        return 0;
    return 1;
}
int dist_max;
int main()
{
    int suma=0,i;
    fin>>n>>x>>l;
    r=x%l;
    for(int i=1;i<=n;i++)
    {
        fin>>a[i].d >>a[i].lana;
    }
    sort(a+1,a+n+1,cmp);
    i=1;
    for(int j=0;j<=x/l;j++)
    {
        dist_max=j*l+r;
        while(i<=n)
        {
            if(a[i].d<=dist_max)
            {
                s.insert(a[i].lana);
                i++;
            }
            else
                break;
        }
        if(!s.empty())
        {
            suma+=*s.begin();
            s.erase(s.begin());
        }
    }
    fout<<suma;
    return 0;
}