Pagini recente » Cod sursa (job #1945532) | Cod sursa (job #900302) | Cod sursa (job #799091) | Cod sursa (job #2528807) | Cod sursa (job #120317)
Cod sursa(job #120317)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
#define in "orase.in"
#define out "orase.out"
int N, M, MAX;
vector<int> D;
vector<int> L;
vector<int> ind;
bool cmp( int a, int b )
{
return D[a] < D[b];
}
int main()
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
int DIST, LUNG, i, j;
scanf( "%d %d", &M, &N );
for ( i = 1; i <= N; ++i )
{
scanf( "%d%d", &DIST, &LUNG );
D.push_back( DIST );
L.push_back( LUNG );
ind.push_back( i-1 );
}
sort( ind.begin(), ind.end(), cmp );
MAX = 0;
j = L[ind[0]] - D[ind[0]];
for ( i = 1; i < ind.size(); ++i )
{
if ( D[ind[i]] + L[ind[i]] + j > MAX )
MAX = D[ind[i]] + L[ind[i]] + j;
if ( L[ind[i]] - D[ind[i]] > j )
j = L[ind[i]] - D[ind[i]];
}
printf( "%d\n", MAX );
return 0;
}