Cod sursa(job #2040368)

Utilizator luanastLuana Strimbeanu luanast Data 15 octombrie 2017 18:34:18
Problema Lupul Urias si Rau Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int n,i,L,X,dist,lana,sum,dit,lit,nr;
pair <int,int> v[100001];
multiset <pair<int,int> > s;

int main(){
    fin>>n>>X>>L;
    for(i=1;i<=n;i++)
        fin>>v[i].first>>v[i].second;
    sort(v+1,v+n+1);
    for(i=1;i<=n;i++){
        s.insert(v[i]);
    }
    for(multiset <pair<int,int> > :: reverse_iterator it = s.rbegin();it != s.rend();it++){
        dist=it->first;
        dist+=L*nr;
        lana=it->second;
        if(dist<=X){
            ++nr;
            sum+=lana;
            fout<<lana<<" "<<dist<<"\n";
        }
        else
            ++it;
    }
    if(dist<X)
        sum+=lana;
    fout<<sum;
    return 0;
}