Pagini recente » Cod sursa (job #3242483) | Cod sursa (job #2508003) | Cod sursa (job #3145595) | Cod sursa (job #1529561) | Cod sursa (job #1099180)
#include <cstdio>
#include <algorithm>
#define MAXN 50001
#define MAXM 1000001
using namespace std;
int D[MAXM];
int main () {
FILE *f, *g;
f = fopen( "orase.in", "r" );
g = fopen( "orase.out", "w" );
int dist, len, m, n, h, maxdist, prev;
fscanf( f, "%d%d", &m, &n );
for( int i = 0 ; i < n ; ++i ) {
fscanf( f, "%d%d", &dist, &len );
D[dist] = max( D[dist], len );
}
h = 0;
maxdist = -1;
prev = 0;
for( int i = 0 ; i <= m ; ++i )
if( D[i] ) {
if( D[i] + ( i - prev ) + h > maxdist )
maxdist = D[i] + ( i - prev ) + h;
if( D[i] > ( i - prev ) + h ) {
h = D[i];
prev = i;
}
}
fprintf( g, "%d\n", maxdist );
fclose( f );
fclose( g );
return 0;
}