Pagini recente » Cod sursa (job #2393652) | Cod sursa (job #3281639) | Cod sursa (job #1233436) | Monitorul de evaluare | Cod sursa (job #2633736)
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin( "orase.in" );
ofstream fout( "orase.out" );
const int MaxN = 50000;
int l[MaxN], dist[MaxN];
int ind[MaxN];
int cmp( int a, int b ) {
return ((l[a] + dist[a]) < (l[b] + dist[b]));
}
int main() {
int i, d, lp, n, maxd;
fin >> lp >> n;
for ( i = 0; i < n; ++i ) {
fin >> dist[i] >> l[i];
ind[i] = i;
}
sort( ind, ind + n, cmp );
maxd = 0;
for ( i = 0; i < n - 1; ++i ) {
d = l[ind[n - 1]] + l[ind[i]] + abs( dist[ind[n - 1]] - dist[ind[i]] );
if ( d > maxd ) {
maxd = d;
}
}
fout << maxd;
fin.close();
fout.close();
return 0;
}