Cod sursa(job #3325182)

Utilizator marap2011Paun Mara marap2011 Data 24 noiembrie 2025 21:57:49
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define pii pair < int , int >
using namespace std;
ifstream fin ("lupu.in") ;
ofstream fout ("lupu.out") ;
priority_queue < int > pq ;
long long answer ;
int n , mx , x , l , k , d , fr[100001] ;
pair < int , int > v[100001] ;
int main ()
{
    fin >> n >> x >> l ;
    for ( int i = 1 ; i <= n ; i ++ )
        fin >> v[i].first >> v[i].second ;
    sort ( v + 1 , v + n + 1 ) ;
    int nr = x / l * l , ind = 1 ;
    while ( nr >= 0 )
    {
        while ( v[ind].first + nr <= x && ind <= n )
        {
            pq.push ( v[ind].second ) ;
            ind ++ ;
        }
        if ( ! pq.empty() )
        {
            answer += pq.top() ;
            pq.pop() ;
        }
        nr -= l ;
    }
    fout << answer ;

    return 0 ;
}