Cod sursa(job #3196871)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 24 ianuarie 2024 21:49:30
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

#pragma optimize GCC ("Ofast")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

///#include <tryhardmode>
///#include <GODMODE::ON>

using namespace std;

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

const int NMAX=1e5+5;
vector<long long>v[NMAX];
priority_queue<long long>pq;

int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(NULL);
    fout.tie(NULL);

    int n,x,l,d,a,i,j,saiz=-1;
    long long kon=0;
    fin>>n>>x>>l;
    for(i=1;i<=n;i++)
    {
        fin>>d>>a;
        if(d<=x)
        {
            int block=(x-d)/l+1;
            v[block].push_back(a);
            saiz=max(saiz,block);
        }
    }
    for(i=saiz;i>=1;i--)
    {
        for(auto it:v[i])
            pq.push(it);
        if(!pq.empty())
        {
            kon+=pq.top();
            pq.pop();
        }
    }
    fout<<kon<<"\n";
    fin.close();
    fout.close();
    return 0;
}