Cod sursa(job #1184852)

Utilizator vyrtusRadu Criuleni vyrtus Data 14 mai 2014 11:52:23
Problema Lupul Urias si Rau Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <algorithm>

#define nmax 100001

using namespace std;
ifstream f("lupu.in");
ofstream g("lupu.out");

struct dep { int timp,cost;};
int N,X,L;
long sol;
dep A[nmax];

bool cmp(dep A, dep B)
{
    if (A.timp == B.timp )
        {
            if (A.cost > B.cost ) return A.cost > B.cost;
        }
    return (A.timp < B.timp);
}

int main()
{
    f >> N >> X >> L;
     for (int i=0;i<N;i++)
     {
         int d,c;
         f >> d >> A[i].cost;
         A[i].timp = ((X - d) / L) + 1 ;
     }
    sort (A,A+N,cmp);
  /*  for (int i=0;i<N;i++)
        cout << A[i].timp << ' ';
    cout << '\n';
    for (int i=0;i<N;i++)
        cout << A[i].cost << ' ';*/
    int k = A[0].timp;
    sol += A[0].cost;
        for (int i=1;i<N;i++)
        {
            if (A[i].timp != k) {sol += A[i].cost; k = A[i].timp; }
        }

     g << sol;

    return 0;
}