Pagini recente » Cod sursa (job #2537002) | Cod sursa (job #2930377) | Cod sursa (job #2814796) | Cod sursa (job #679822) | Cod sursa (job #1167035)
#include <fstream>
#include <algorithm>
using namespace std;
struct pereche
{
int d,l;
};
pereche a[50001];
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 );
poz2 = 1;
min = a[i].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;
}