Pagini recente » Cod sursa (job #1069953) | Cod sursa (job #616804) | Cod sursa (job #264090) | Cod sursa (job #3031889) | Cod sursa (job #358885)
Cod sursa(job #358885)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
int n,s,i,best;
struct drum
{
int l,d;
};
vector<drum> v;
inline bool cmpf(const drum &v1,const drum &v2)
{
return v1.d < v2.d;
}
int main()
{
drum aux;
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d%d",&n,&s);
for (i=0;i<s;i++)
{
scanf("%d%d",&aux.d,&aux.l);
v.push_back(aux);
}
sort(v.begin(),v.end(),cmpf);
best = -1;
drum lng;
lng.l = v[0].l;
lng.d = v[0].d;
for (i=0;i<v.size();i++)
{
if (v[i].l+lng.l+(v[i].d-lng.d) > best)
{
best = v[i].l+lng.l+(v[i].d-lng.d);
}
if (v[i].l - v[i].d > lng.l - lng.d)
{
lng.l = v[i].l;
lng.d = v[i].d;
}
}
printf("%d",best);
return 0;
}