Cod sursa(job #468890)
Utilizator | Data | 5 iulie 2010 13:10:22 | |
---|---|---|---|
Problema | Heavy metal | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
struct timp{int x,val;};
timp v[1<<18];
int n;
ifstream in("heavymetal.in");
ofstream out("heavymetal.out");
bool cmp(timp a,timp b)
{
return a.x<b.x || a.x==b.x && a.val>b.val;
}
int main()
{
in>>n;n<<=1;
int i,nr=0,last=1,q=0;
for (i=1;i<=n;i+=2)
{
in>>v[i].x>>v[i+1].x;
v[i].val=1;v[i+1].val=-1;
}
sort(v+1,v+n+1,cmp);
for (i=1;i<=n;i++)
{
if (!q)
last=v[i].x;
q+=v[i].val;
if (!q)
nr+=v[i].x-last;
}
out<<nr<<"\n";
return 0;
}