Mai intai trebuie sa te autentifici.
Cod sursa(job #2031649)
Utilizator | Data | 3 octombrie 2017 17:27:46 | |
---|---|---|---|
Problema | Lupul Urias si Rau | Scor | 8 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include<fstream>
#include<queue>
#include<algorithm>
#include<vector>
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
int n, X, L, fear, val;
long long sol;
pair<int,int> A;
priority_queue< pair<int,int>, vector< pair<int,int> >, less< pair<int,int> > > q;
int main(){
fin >> n >> X >> L;
for( int i = 1; i <= n; i++ ){
fin >> A.second >> A.first;
q.push( A );
}
while( !q.empty() ){
while( !q.empty() && X < (val = q.top().second) + fear )
q.pop();
if( !q.empty() ){
sol += q.top().first;
q.pop();
}
fear += L;
}
fout << sol << "\n";
return 0;
}