Pagini recente » Cod sursa (job #316077) | Cod sursa (job #1583430) | Cod sursa (job #2973574) | Cod sursa (job #491631) | Cod sursa (job #442919)
Cod sursa(job #442919)
#include <fstream>
using namespace std;
#define MAX 50005
ifstream f("orase.in");
ofstream g("orase.out");
struct vector
{
int D,L;
}V[MAX],maxi;
struct comp
{
bool operator () (const vector& lhs , const vector& rhs)
{
if (lhs.D == rhs.D)
return lhs.L < rhs.L;
return lhs.D < rhs.D;
}
};
int M, N, i, rez;
int main()
{
f >> M >> N;
for (i = 1; i <= N; i++)
f >> V[i].D >> V[i].L;
sort(V + 1,V + N + 1,comp());
maxi.D = V[1].D, maxi.L = V[1].L;
for (i = 2; i <= N; i++)
{
int part = V[i].L + V[i].D + maxi.L - maxi.D;
if (part > rez) rez = part;
if (V[i].L - V[i].D > maxi.L - maxi.D) maxi.L = V[i].L, maxi.D = V[i].D;
}
g << rez;
return 0;
}