Pagini recente » Cod sursa (job #1846565) | Cod sursa (job #879115) | Cod sursa (job #970684) | Cod sursa (job #479577) | Cod sursa (job #2046824)
#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;
}