Pagini recente » Cod sursa (job #559521) | Cod sursa (job #2859420) | Cod sursa (job #2575973) | Cod sursa (job #3164594) | Cod sursa (job #1767505)
#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
pair <int,int> v[50001];
int d[50001];
int main()
{
FILE *fin=fopen ("orase.in","r");
FILE *fout=fopen ("orase.out","w");
int m,n,i,smax;
fscanf (fin,"%d%d",&m,&n);
for (i=1;i<=n;i++)
fscanf (fin,"%d%d",&v[i].first,&v[i].second);
// d[i] subsecv de s max care se termina pe poz i
sort (v+1,v+n+1);
smax=0;
d[1]=v[1].second;
for (i=1;i<=n;i++){
smax=max(smax,d[i-1]+v[i].first-v[i-1].first+v[i].second);
d[i]=max(v[i].second,d[i-1]+v[i].first-v[i-1].first);
}
fprintf (fout,"%d",smax);
return 0;
}