Cod sursa(job #2300433)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 11 decembrie 2018 13:05:43
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>;

using namespace std;
long long n,x,l,ti,p,d,s;
struct oi
{
    int t,val;
}v[100100];
bool cmp(oi a,oi b)
{
    return a.t<b.t;
}
priority_queue<int> q;
int main()
{
    ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    freopen("lupu.in","r",stdin);
    freopen("lupu.out","w",stdout);
	cin>>n>>x>>l;
	for(int i=1;i<=n;i++)
    {
        cin>>d>>v[i].val;
        v[i].t=(x-d)/l+1;
    }
    sort(v+1,v+n+1,cmp);
    ti=v[n].t;
    p=n;
    while(ti>0)
    {
        while(ti==v[p].t&&p>0)
        {
            q.push(v[p].val);
            p--;
        }
        ti--;
        if(!q.empty())
        {
        s+=q.top();
        q.pop();
        }
    }
    cout<<s;
	return 0;
}