Pagini recente » Cod sursa (job #1042903) | Cod sursa (job #1971342) | Cod sursa (job #2452312) | Cod sursa (job #289426) | Cod sursa (job #2070499)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE*f=fopen("heavymetal.in","r");
FILE*g=fopen("heavymetal.out","w");
int n;
long long optim[100005];
struct formatie {
int t1,t2;
} a[100005];
int comp(formatie a,formatie b) {
return a.t2<b.t2||(a.t2==b.t2&&a.t1>b.t1);
}
void citire() {
int i;
fscanf(f,"%lld",&n);
for(i=1;i<=n;i++) fscanf(f,"%d%d",&a[i].t1,&a[i].t2);
}
void solve() {
int i,j=1;
sort(a+1,a+n+1,comp);
for(i=1;i<=a[n].t2;i++) {
optim[i]=optim[i-1];
while(a[j].t2==i) {
optim[i]=max(optim[i],optim[a[j].t1]+a[j].t2-a[j].t1);
j++;
}
}
}
int main() {
citire();
solve();
fprintf(g,"%lld",optim[a[n].t2]);
fclose(f); fclose(g);
return 0;
}