Pagini recente » Cod sursa (job #395545) | Cod sursa (job #1513349) | Cod sursa (job #1549882) | Cod sursa (job #1188585) | Cod sursa (job #1278768)
#include<cstdio>
#include<algorithm>
using namespace std;
FILE *fin = fopen( "orase.in", "r" ), *fout = fopen( "orase.out", "w" );
const int nmax = 50000;
int rez[ nmax + 1 ];
struct str{ int x, y; } v[ nmax + 1 ];
inline int max2( int a, int b ) {
if ( a < b ) {
return b;
}
return a;
}
bool cmp( str a, str b ) {
return ( a.x < b.x );
}
int main() {
int n, m, ans;
fscanf( fin, "%d%d", &m, &n );
for( int i = 1; i <= n; ++ i ) {
fscanf( fin, "%d%d", &v[ i ].x, &v[ i ].y );
}
sort( v + 1, v + n + 1, cmp );
rez[ 1 ] = v[ 1 ].y;
ans = 0;
for( int i = 2; i <= n; ++ i ) {
int x, y;
x = v[ i - 1 ].y + v[ i ].x - v[ i - 1 ].x + v[ i ].y;
y = rez[ i - 1 ] - v[ i - 1 ].y + v[ i ].x - v[ i - 1 ].x + v[ i ].y;
rez[ i ] = max2( x, y );
ans = max2( ans, rez[ i ] );
}
fprintf( fout, "%d\n", ans );
fclose( fin );
fclose( fout );
return 0;
}