Pagini recente » Cod sursa (job #278683) | Cod sursa (job #2720273) | Cod sursa (job #2449854) | Cod sursa (job #2271461) | Cod sursa (job #1205998)
#include <cstdio>
#include <algorithm>
using namespace std;
#define MAX 100005
struct interval
{
int st, dr;
}v[MAX];
bool comp(interval a, interval b)
{
return a.st < b.st;
}
int main()
{
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
int n, i, R, sol=0, L;
scanf("%d",&n);
for(i=1; i<=n; i++)
scanf("%d%d",&v[i].st,&v[i].dr);
sort(v+1,v+n+1,comp);
R=v[1].dr; L=v[1].st;
sol = v[1].dr-v[1].st;
for(i=2; i<=n; i++)
{
if(R >= v[i].dr)
continue;
if(L == v[i].st)
{
sol += v[i].dr-L;
R = v[i].dr;
continue;
}
if(R <= v[i].st)
{
sol+= v[i].dr-v[i].st;
L=R;
R=v[i].dr;
continue;
}
}
printf("%d",sol);
return 0;
}