Pagini recente » Cod sursa (job #2461380) | Cod sursa (job #2621151) | Cod sursa (job #918497) | Cod sursa (job #2830651) | Cod sursa (job #68482)
Cod sursa(job #68482)
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#define nmax 50000
FILE *in = fopen("orase.in","r"), *out = fopen("orase.out","w");
struct orase
{
int d, l;
};
int m, n;
orase a[nmax];
int rez;
void read()
{
fscanf(in, "%d %d", &m, &n);
for ( int i = 0; i < n; ++i )
fscanf(in, "%d %d", &a[i].d, &a[i].l);
}
bool operator<(const orase &x, const orase &y)
{
return x.d < y.d;
}
int main()
{
read();
std::sort(a, a+n);
int comp = 0;
for ( int i = 1; i < n; ++i )
{
if ( a[i].l + a[comp].l + (a[i].d - a[comp].d) > rez )
rez = a[i].l + a[comp].l + (a[i].d - a[comp].d);
if ( a[comp].l + a[comp].d < a[i].l + a[i].d )
comp = i;
}
fprintf(out, "%d\n", rez);
return 0;
}