Cod sursa(job #1520858)
| Utilizator | Data | 9 noiembrie 2015 17:05:02 | |
|---|---|---|---|
| Problema | Orase | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(){
ifstream f("orase.in");
ofstream g("orase.out");
int m, n;
f >> m >> n;
if(n == 1){
g << 0;
return 0; }
vector<int> len(m+1, 0);
int rez = 0;
for(int i = 0, d, l; i < n; ++i){
f >> d >> l;
rez = max(rez, len[d] + l);
len[d] = max(len[d], l); }
for(int i = 1, best = len[0]; i <= m; ++i){
rez = max(rez, best + 1 + len[i]);
best = max(len[i], best+1); }
g << rez;
return 0; }
