Pagini recente » Cod sursa (job #2297708) | Autentificare | Cod sursa (job #106474) | Cod sursa (job #2594440) | Cod sursa (job #161551)
Cod sursa(job #161551)
#include<stdio.h>
#include<algorithm>
using namespace std;
long i,n,s=0,v[100010];
struct interval
{
long inceput,sfarsit;
};
interval x[100010];
int cmpf(interval a,interval b)
{
return a.sfarsit<=b.sfarsit;
}
int main () {
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld %ld", &x[i].inceput, &x[i].sfarsit);
sort(x + 1, x + n + 1, cmpf);
for(i=1;i<n;i++){
if((x[i].sfarsit)<=(x[i+1].inceput))
s=s+(x[i].sfarsit-x[i].inceput);}
s=s+(x[n].sfarsit-x[n].inceput);
if (s==0){{
for(i=1;i<=n;i++)
v[i]=x[i].sfarsit-x[i].inceput;}
for(i=1;i<=n;i++){
if(v[i]>s)
s=v[i];}}
printf("%ld\n",s);
return 0;
}