Cod sursa(job #2046834)

Utilizator alexandruilieAlex Ilie alexandruilie Data 24 octombrie 2017 10:02:42
Problema Heavy metal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
struct concert{int s,d,t;}v[100000];
int comp(concert a,concert b)
{
    return (a.d<b.d)||(a.d==b.d&&a.s<b.s);
}
int n,i,x,timp,sol[100000],use[100000],j,tmax;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i].s>>v[i].d,use[v[i].d]=1;
    sort(v+1,v+n+1,comp);
   tmax=v[n].d;
   for(i=1;i<=tmax;i++)
   {
     sol[i]=sol[i-1];
    if(use[i]){
   for(j=1;j<=n;j++)
    if(v[j].d>i) break;
   else if(v[j].d==i)
   sol[i]=max(sol[i],sol[v[j].s]+v[j].d-v[j].s);
    }
   use[i]=1;
   }
   g<<sol[tmax];
    return 0;
}