Pagini recente » Cod sursa (job #1973649) | Cod sursa (job #816878) | Cod sursa (job #2810775) | Cod sursa (job #2683184) | Cod sursa (job #388287)
Cod sursa(job #388287)
#include<fstream>
#define dmax 100003
using namespace std;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");
int n;
long long sol,ult;
struct sp
{ long long p1;
long long p2;
} s[dmax] ;
typedef int (*compfn)(const void*,const void*);
int sf(struct sp *a,struct sp *b)
{ return a->p2 - b->p2;
}
int main()
{ int i,j,bun,mx;
in>>n;
for(i=0;i<n;i++)
in>>s[i].p1>>s[i].p2;
in.close();
qsort((void*)&s, n, sizeof(struct sp), (compfn)sf);
ult=-1;
for(i=0;i<n;i++)
if(s[i].p1 >= ult)
{ j=i;
mx=s[i].p2;
bun=i;
while(s[j].p1==s[i].p1)
{ if(s[j].p2>mx)
{ bun=j;
mx=s[j].p2;
}
j++;
}
sol+=(s[bun].p2 - s[bun].p1 );
ult=s[bun].p2;
i=bun;
}
out<<sol;
out.close();
return 0;
}