Pagini recente » Cod sursa (job #3237916) | Cod sursa (job #1450392) | Cod sursa (job #1507160) | Cod sursa (job #3142447) | Cod sursa (job #2447452)
#include <algorithm>
#include <fstream>
#include <cmath>
using namespace std;
typedef unsigned long long int64;
int64 N, M;
ifstream fin("orase.in");
ofstream fout("orase.out");
struct Town{
int64 D, L;
friend void operator >>(ifstream& in, Town& town){
in >> town.D >> town.L;
}
void operator = (Town const& town){
L = town.L;
D = town.D;
}
};
Town v[50001];
int main()
{
fin >> M >> N;
for(int64 i = 1; i <= N; i++)
fin >> v[i];
sort(v + 1, v + N + 1, [](Town& A, Town& B){return A.D < B.D;});
int64 dmax{1LL*0}, d{v[1].L};
for(int64 i = 2; i <= N; i++){
d += v[i].D - v[i - 1].D;
dmax = max(dmax, d + v[i].L);
d = max(v[i].L, d);
}
fout<<dmax;
}