Pagini recente » Istoria paginii runda/pushca_lui | Cod sursa (job #1866880) | Monitorul de evaluare | Cod sursa (job #1573088) | Cod sursa (job #1837966)
#include <fstream>
#include <algorithm>
using namespace std;
struct ORAS{int D,L;};
int M,N,i,j,vmax,rez;
ORAS CITY[50001];
ifstream fi("orase.in");
ofstream fo("orase.out");
int cmp(ORAS a, ORAS b)
// returneaza 1 atunci cand a<b, 0 in caz contrar
{
if (a.D<b.D)
return 1;
return 0;
}
int main()
{
fi>>M>>N;
for (i=1;i<=N;i++)
fi>>CITY[i].D>>CITY[i].L;
sort(CITY+1,CITY+N+1,cmp);
if (N==1)
rez=0;
else
{
rez=-1000000000;
vmax=CITY[1].L-CITY[1].D;
for (j=2;j<=N;j++)
{
if (CITY[j].L+CITY[j].D+vmax>rez)
rez=CITY[j].L+CITY[j].D+vmax;
if (CITY[j].L-CITY[j].D>vmax)
vmax=CITY[j].L-CITY[j].D;
}
}
fo<<rez;
fi.close();
fo.close();
return 0;
}