Pagini recente » Cod sursa (job #1972607) | Cod sursa (job #595642) | Cod sursa (job #2859756) | Cod sursa (job #957000) | Cod sursa (job #137385)
Cod sursa(job #137385)
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#define N 50010
using namespace std;
struct interval{
int a,b;
};interval v[N];
int compar(const void*x,const void*y){
interval *aa=(interval *)x,*bb=(interval *)y;
if (aa->a<bb->a)
return -1;
if (aa->a>bb->a)
return 1;
if (aa->b>bb->b)
return 1;
if (aa->b<bb->b)
return -1;
return 0;
}
int functie (interval i,interval j){
return i.a<j.a;
}
int main(){
int n,i,s=0,t,j,l,x;
int ult,incep;
freopen("heavymetal.in","r",stdin);
freopen("heavymetal.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;++i){
scanf("%d%d",&v[i].a,&v[i].b);
}
//sort(v+0,v+n-1,functie);
qsort(v,n,sizeof(v[0]),compar);
x=-20000000;
l=0;
for (i=0;i<n;++i){
if (v[i].a>=x){
l+=v[i].b-v[i].a;
x=v[i].b;
}
else{
if (v[i].b<=x);
else{
l+=v[i].b-x;
x=v[i].b;
}
}
}
printf("%d\n",l);
return 0;
}