Cod sursa(job #2046790)
| Utilizator | Data | 24 octombrie 2017 09:31:27 | |
|---|---|---|---|
| Problema | Heavy metal | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("heavymetal.in");
ofstream g("heavymetal.out");
int s,n,i;
struct spec{
int x,y;
int o;
}a[100005];
int compare(spec u,spec v){
if (u.y==v.y) return u.x<v.x;
return u.y<v.y;
}
int main()
{f>>n;
for(i=1;i<=n;i++){
f>>a[i].x>>a[i].y;
a[i].o=i;
}
sort(a+1,a+n+1,compare);
i=1;
int mmax=1,u=n;
s=a[n].y-a[n].x;
for(i=n-1;i>=1;i--){
if(a[u].x>=a[i].y){
u=i;
s+=a[u].y-a[u].x;
}
}
g<<s;
return 0;
}
