Cod sursa(job #2046827)

Utilizator cicero23catalin viorel cicero23 Data 24 octombrie 2017 09:59:37
Problema Heavy metal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#define NMAX 100005

using namespace std;

ifstream fin("heavymetal.in");
ofstream fout("heavymetal.out");

struct sp
{
    int x,y;
}v[NMAX];

int x[NMAX],nr,n,tmax;

int comp(sp a, sp b)
{
    return a.y<b.y;
}

void citire()
{
    fin>>n;
    for (int i=1;i<=n;i++)
        fin>>v[i].x>>v[i].y;
}

void solve()
{
    int i,j;
    for (i=1;i<=tmax;i++)
    {
        x[i]=x[i-1];
        for (j=1;j<=n;j++)
            if(v[j].y==i) x[i]=max(x[i],x[v[j].x]+(v[j].y-v[j].x));
    }
}

int main()
{
    citire();
    sort(v+1,v+n+1,comp);
    tmax=v[n].y;
    solve();
    fout<<x[tmax];
    return 0;
}