Cod sursa(job #1235048)

Utilizator felixiPuscasu Felix felixi Data 28 septembrie 2014 17:08:34
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <algorithm>
#include <fstream>

using namespace std;

ifstream in("heavymetal.in");
ofstream out("heavymetal.out");

const int NMAX = 1000123;

struct INTER {
    int x,y;
};

INTER v[NMAX/10];
int d[NMAX];
int N,K;

bool comp( const INTER &A, const INTER &B ) {
    return A.y < B.y;
}


int main() {
    in >> N >> K;
    for( int i= 1;  i<=N;  ++i )  in >> v[i].x >> v[i].y;
    sort( v+1, v+N+1, comp );
    N= v[N].y;
    int C= 1;
    for( int i= 1;  i<=N;  ++i ) {
        d[i]= d[i-1];
        while( v[C].x == i ) {
            d[i]= max( d[ v[C].x ]+(v[C].y-v[C].x), d[i] );
            ++C;
        }
    }
    out << d[N] << '\n';
    return 0;
}