Pagini recente » Cod sursa (job #765875) | Cod sursa (job #2906151) | Cod sursa (job #2526345) | Cod sursa (job #2765660) | Cod sursa (job #2854824)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("orase.in");
ofstream g ("orase.out");
const int d = 1e6;
int s[d+2];
int st[d+2];
int dr[d+2];
int main()
{
int D, n;
f>>D>>n;
for(int i=1; i<=n; i++)
{
int x, y;
f>>x>>y;
s[x] = max(s[x],y);
}
int S=0;
for(int i=0; i<=D; i++)
st[i] = max(st[i-1], s[i]-i);
for(int i=D; i>=0; i--)
dr[i] = max(dr[i+1], s[i]+i);
for(int i=0; i<=D; i++)
S = max(S, st[i]+dr[i+1]);
g<<S;
return 0;
}