Pagini recente » Cod sursa (job #2274034) | Cod sursa (job #3225821) | Cod sursa (job #2981743) | Cod sursa (job #994354) | Cod sursa (job #2099205)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
struct heavymetal{
int a,b;
}v[100001];
int cmp(heavymetal x,heavymetal y)
{ if(x.b==y.b)
return x.a<x.b;
return x.b<y.b;
}
int n,i,j,d[100001],Max;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i].a>>v[i].b;
sort(v+1,v+n+1,cmp);
for(i=1;i<=n;i++)
{
d[i]=max(d[i-1],v[i].b-v[i].a);
int st=1,dr=i-1;int sol=0;
while(st<=dr){
int mid=(st+dr)/2;
if(v[i].a>=v[mid].b)
{
sol=mid;
st=mid+1;
}
else
dr=mid-1;
}
d[i]=max(d[i],d[sol]+v[i].b-v[i].a);
// Max=max(Max,d[i]);
}
g<<d[n];
return 0;
}