Pagini recente » Cod sursa (job #2930699) | Cod sursa (job #274248) | Cod sursa (job #2138707) | Cod sursa (job #1634965) | Cod sursa (job #1075671)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
struct metal{
int a,b;
}v[100001];
int cmp(metal x,metal y){
if (x.a<y.a) return 1;
if (x.a==y.a&&x.b<y.b) return 1;
return 0;
}
int b[100001],i,j,n,nr,p,u,mij,sol,act;
int main()
{
f>>n;
for(i=1;i<=n;i++){
f>>v[i].a>>v[i].b;
}
sort(v+1,v+n+1,cmp);
b[1]=v[1].b-v[1].a;
for(i=2;i<=n;i++){
p=1;
u=i-1;
sol=0;
while(p<=u){
mij=(p+u)/2;
if(v[i].a>=v[mij].b){
sol=mij;
p=mij+1;
}
else
u=mij-1;
}
act=v[i].b-v[i].a;
if(b[i-1]<b[sol]+act)
b[i]=b[sol]+act;
else
b[i]=b[i-1];
}
g<<b[n];
return 0;
}