Pagini recente » Cod sursa (job #369677) | Cod sursa (job #2468314) | Cod sursa (job #833984) | Cod sursa (job #2676019) | Cod sursa (job #1831163)
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <vector>
using namespace std;
struct oras{
int p,d;
};
bool srt(oras a,oras b){
return a.p<b.p;
}
vector<oras>orase;
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
int n,c,sol=0,a=0,p,d;
scanf("%d%d",&n,&c);
oras* tmp;
for (int i=0;i<c;i++){
tmp=(oras*)malloc(sizeof(oras));
scanf("%d%d",&p,&d);
tmp->p=p;
tmp->d=d;
orase.push_back(*tmp);
}
sort(orase.begin(),orase.end(),srt);
for (int i=0;i<c;i++){
int t=a+orase[i].p+orase[i].d;
sol=max(sol,t);
t=orase[i].d-orase[i].p;
a=max(a,t);
}
printf("%d",sol);
return 0;
}