Pagini recente » Cod sursa (job #3253939) | Cod sursa (job #1963618) | Cod sursa (job #3267247) | Cod sursa (job #1778712) | Cod sursa (job #1972078)
#include <cstdio>
#include <algorithm>
using namespace std;
struct INTERVAL
{
int x,y;
};
INTERVAL v[100005];
bool cmp(INTERVAL a,INTERVAL b)
{
return a.x<b.x;
}
int main()
{
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
int n,a,b,i,l,r,s;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&a,&b);
v[i].x=a;
v[i].y=b;
}
sort(v+1,v+n+1,cmp);
l=v[1].x;
r=v[1].y;
s=r-l;
for(i=2;i<=n;i++)
{
if(r<v[i].y)
{
if(v[i].x>=r)
{
s=s+v[i].y-v[i].x;
l=v[i].x;
r=v[i].y;
}
else
{
if(v[i].x==l)
if(v[i].y-v[i].x>r-l)
{
s=s+v[i].y-v[i].x-r+l;
l=v[i].x;
r=v[i].y;
}
}
}
}
printf("%d",s);
return 0;
}