Cod sursa(job #1818776)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 29 noiembrie 2016 20:07:19
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin ("lupu.in");
ofstream fout("lupu.out");
pair<long long, long long> v[100010];
long long i,l,x,n,ok,aux,a,maxi,j;
long long sum;

int cmp(pair<int, int> a , pair<int, int> b)
{
    if(a.first!=b.first)
        return a.first>b.first;
    else
        return a.second>b.second;
}

int main ()
{
    fin>>n>>x>>l;
    for(i=1;i<=n;i++)
    {
        fin>>a>>v[i].first;
        aux=a;ok=0;
        while(x>=aux)
        {
            ok++;
            aux+=l;
        }
        v[i].second=ok;
        if(maxi<ok)
            maxi=ok;
    }
    sort(v+1 , v+1+n,cmp);

    for(i=maxi;i>=1;i--)
    {
        for(j=1;j<=n;j++)
            if(v[j].second==i)
            {
                sum+=v[j].first;
                break;
            }
    }
    fout<<sum;
    fin.close();
    fout.close();
    return 0;
}