Cod sursa(job #2046824)

Utilizator aditzu7Adrian Capraru aditzu7 Data 24 octombrie 2017 09:58:40
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
int j,tmax,x,din[1001*1001*1001],s,n,i;
bool use[1001*1001*1001];
struct spec{
int x,y;
int o;

}a[100005];
int compare(spec u,spec v){
    if (u.y==v.y) return u.x<v.x;
return u.y<v.y;
}
int main()
{f>>n;
for(i=1;i<=n;i++){
    f>>a[i].x>>a[i].y;
    a[i].o=i;
use[a[i].y]=1;
}

sort(a+1,a+n+1,compare);
tmax=a[n].y;
for(i=1;i<=tmax;i++){
    din[i]=din[i-1];
   if(use[i]==1) for(j=1;j<=n;j++){
    if(a[j].y>i)break;
    else if(a[j].y==i){
        din[i]=max(din[i],din[a[j].x]+a[j].y-a[j].x);


    }
    }
}
    g<<din[tmax];
   // g<<" "<sizeof(use)/1024/1024;
      return 0;
}