Pagini recente » Cod sursa (job #2181315) | Cod sursa (job #347158) | Cod sursa (job #1662219) | Cod sursa (job #2350941) | Cod sursa (job #1972144)
#include <fstream>
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");
struct interval{
int x,y;
};
interval v[100005];
int sol[100005];
bool cmp(interval a,interval b){
if(a.y==b.y)
return (a.x<b.x);
return (a.y<b.y);
}
int main() {
int n,x,j,aux;
in>>n;
for(int i=1;i<=n;i++)
in>>v[i].x>>v[i].y;
sort(v+1,v+n+1,cmp);
x=v[n].y;
out<<x<<'\n';
j=1;
for(int i=1;i<=x;i++){
sol[i]=sol[i-1];
while(i==v[j].y){
aux=sol[v[j].x]+v[j].y-v[j].x;
if(aux>sol[i])
sol[i]=aux;
j++;
}
}
out<<sol[x];
return 0;
}