Cod sursa(job #2317073)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 12 ianuarie 2019 19:12:12
Problema Heavy metal Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
const int NR = 2001 ;
ifstream f ("heavymetal.in") ;
ofstream g ("heavymetal.out") ;
struct client
{
    int x , y ;
}v [ 100001 ];
bool cmp ( client a , client b )
{
    if( a.x == b.x )
    return a.y < b.y ;
    return a.x < b.x ;
}
int main ()
{
    int n , cnt ; f >> n ;
    int64_t s = 0 ;
    for ( int i = 1 ; i <= n ; ++ i )   f >>  v [ i ].x >> v [ i ].y ;
    sort ( v + 1, v + n + 1 , cmp ) ;
    for ( int i = 1 ; i <= n ; ++ i )
    {
        s += v [ i ].y - v [ i ].x ;
        cnt = i + 1 ;
        while ( v [ cnt ].y <= v [ i ].y ) cnt ++ ;
        v [ cnt ].x = max ( v [ cnt ].x , v [ i ].y ) ;
        i = cnt - 1 ;
    }
    g << s << "\n" ;
}