Pagini recente » Cod sursa (job #1872360) | Cod sursa (job #630935) | Cod sursa (job #3284145) | Cod sursa (job #2822289) | Cod sursa (job #120315)
Cod sursa(job #120315)
#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> index;
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 );
index.push_back( i-1 );
}
sort( index.begin(), index.end(), cmp );
MAX = 0;
j = L[index[0]] - D[index[0]];
for ( i = 1; i < index.size(); ++i )
{
if ( D[index[i]] + L[index[i]] + j > MAX )
MAX = D[index[i]] + L[index[i]] + j;
if ( L[index[i]] - D[index[i]] > j )
j = L[index[i]] - D[index[i]];
}
printf( "%d\n", MAX );
return 0;
}