Pagini recente » Cod sursa (job #3125919) | Cod sursa (job #1704866) | Cod sursa (job #116824) | Cod sursa (job #2849648) | Cod sursa (job #1639164)
#include <iostream>
#include <fstream>
#include <climits>
#include <algorithm>
using namespace std;
ifstream fin ("orase.in");
ofstream fout ("orase.out");
#define MAXN 50050
#define MAXM 1000050
struct data {int distance, length;} street[MAXN];
int sort_by_distance (const data &a, const data &b)
{
return a.distance < b.distance;
}
int N, M;
int main()
{
fin >>M >>N;
for (int i = 1; i <= N; ++i)
fin >>street[i].distance >>street[i].length;
sort (street+1, street+N+1, sort_by_distance);
int j = 1;
int _max = INT_MIN;
for (int i = 2; i <= N; ++i)
{
_max = max(_max, street[i].length + street[i].distance + street[j].length - street[j].distance);
if (street[i].length - street[i].distance > street[j].length - street[j].distance && i > j)
j = i;
}
fout <<_max <<'\n';
return 0;
}