Pagini recente » Cod sursa (job #1500710) | Cod sursa (job #2611523) | Cod sursa (job #1219583) | Cod sursa (job #2240999) | Cod sursa (job #1167479)
#include <fstream>
#include <algorithm>
using namespace std;
struct pereche
{
int d,l;
};
pereche a[50001];
bool cmp(pereche x, pereche y)
{
return x.d < y.d;
}
int main()
{
ifstream in("orase.in");
ofstream out("orase.out");
int n, m, i, max = 0, min, poz2, s, gasit;
in >> m >> n;
for ( i = 1; i <= n; i++ )
{
in >> a[i].d >> a[i].l;
}
/*
do
{
gasit = 0;
for ( i = 1; i < n; i++ )
{
if ( a[i].d > a[i+1].d )
{
swap ( a[i].d, a[i+1].d);
swap ( a[i].l,a[i+1].l);
gasit = 1;
}
}
}while( gasit != 0 );
*/
sort(a + 1, a + n + 1, cmp);
poz2 = 1;
min = a[1].l;
for ( i = 2; i <= n; i++ )
{
if ( a[i].l > a[poz2].l + a[i].d - a[poz2].d )
{
poz2 = i;
min = a[i].l;
}
s = a[i].l + a[i].d - a[poz2].d + min;
if ( s > max )
{
max = s;
}
}
out << max;
return 0;
}