Cod sursa(job #2854824)
Utilizator | Feraru Rares-Serban PsyDuck1914 | Data | 21 februarie 2022 19:52:19 |
---|---|---|---|
Problema | Orase | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#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;
}