Pagini recente » Cod sursa (job #2587420) | Cod sursa (job #1971402) | Cod sursa (job #2731442) | Cod sursa (job #1046815) | Cod sursa (job #149073)
Cod sursa(job #149073)
#include <stdio.h>
#include <stdlib.h>
#define N 100005
struct interval {
int a,b;
};
int compar(const void *p,const void *q){
interval *pp=(interval*)p, *qq=(interval*)q;
interval x=*pp, y=*qq;
if(x.a>y.a)
return 1;
else if(x.a==y.a && x.b<y.b)
return 1;
return 0;
}
int main(){
int i,j,n,s=0,c=1,dr;
interval v[N];
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);
qsort(v,n,sizeof(v[0]),compar);
// for(i=0;i<n;i++)
// printf("%d %d\n",v[i].a,v[i].b);
dr=v[0].b;
s=v[0].b-v[0].a;
for(i=1;i<n;i++)
if(v[i].a>=dr) { c++; dr=v[i].b; s+=v[i].b-v[i].a; }
printf("%d",s);
return 0;
fclose(stdout);
}