Pagini recente » Cod sursa (job #2385754) | Cod sursa (job #2181518) | Cod sursa (job #970793) | Cod sursa (job #192834) | Cod sursa (job #1001522)
#include <fstream>
#include <algorithm>
#define IN "orase.in"
#define OUT "orase.out"
#define MAX_SIZE 50009
std :: ifstream f(IN);
std :: ofstream g(OUT);
int N, M;
struct DIS
{
int Li;
int Di;
} O[MAX_SIZE];
inline void READ_DATA()
{
f >> M >> N;
for(int i = 1; i <= N; ++i)
f >> O[i].Di >> O[i].Li;
}
inline bool CMP(DIS A, DIS B)
{
return A.Di < B.Di;
}
inline void SOLVE()
{
int j = 1, BEST_SUM = 0, SUM = 0;
for(int i = 2; i <= N; ++i)
{
SUM = O[i].Li + O[i].Di - O[j].Di + O[j].Li;
BEST_SUM = std :: max(BEST_SUM, SUM);
if(O[j].Li + O[i].Di - O[j].Di < O[i].Li)
j = i;
}
g << BEST_SUM << '\n';
}
int main()
{
READ_DATA();
std :: sort(O + 1, O + N + 1, CMP);
SOLVE();
g.close();
return 0;
}