Pagini recente » Profil eudanip | Cod sursa (job #1594372) | Rating Zoey Hernandez (acinstallation797) | Cod sursa (job #2036029) | Cod sursa (job #343359)
Cod sursa(job #343359)
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#define DIM 1000000
int N,M,L[DIM],D[DIM],i,j,max,a[DIM],ind[DIM];
int compare(const void *a, const void *b)
{
int aa = *(int*)a, bb = *(int*)b;
return D[aa] - D[bb];
}
int maxim (int a, int b)
{
if (a>b) return a;
else return b;
}
int main()
{
ifstream f("orase.in");
ofstream g("orase.out");
f>>M>>N;
for (i=1;i<=N;++i)
f>>D[i]>>L[i];
f.close();
for (i=1;i<=N;++i)
ind[i]=i;
qsort (ind+1,N,sizeof(int),compare);
a[1]=L[ind[1]]-D[ind[1]];
for (i=2;i<=N;++i)
{
if (L[ind[i]]-D[ind[i]]>a[i-1]) a[i]=L[ind[i]]-D[ind[i]];
else a[i]=a[i-1];
}
for (i=1;i<=N;++i)
max=maxim(max,L[ind[i]]+D[ind[i]]+a[i]);
g<<max;
g.close();
return 0;
}