Cod sursa(job #1424985)

Utilizator GinguIonutGinguIonut GinguIonut Data 26 aprilie 2015 10:19:21
Problema Lupul Urias si Rau Scor 16
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>
#define dim 100001
using namespace std;
ifstream fin("lupu.in");
ofstream fout("lupu.out");
long int sum;
int lana[dim],i,j,dist,n,x1,l,Max1,val;
struct cub
{
    int x;
    int y;
}timp[dim];
int cmp(cub o, cub p)
{
    return o.x>p.x;
}
int main()
{
    fin>>n>>x1>>l;
    for(i=1;i<=n;i++)
    {
        fin>>dist>>lana[i];
        if(dist<=x1)
        {
            if(dist==x1)
                timp[i].x=1;
            else
                timp[i].x=(x1-dist)/l+1;
        }
        else
            timp[i].x=0;
        timp[i].y=i;
    }
    sort(timp+1,timp+n+1,cmp);
    for(i=1;i<=n&&timp[i].x!=0;i++)
    {
        Max1=0;
        val=timp[i].x;
        while(timp[i].x==val&&i<=n)
        {
            Max1=max(Max1,lana[timp[i].y]);
            i++;
        }
        i--;
        sum+=Max1;
    }
    fout<<sum;
    return 0;
}