Cod sursa(job #1699782)

Utilizator andreipurdilaAndrei Purdila andreipurdila Data 8 mai 2016 15:53:57
Problema Orase Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <chrono>
#include <vector>

using namespace std;
using namespace std::chrono;

#define M 1000001

int roads[M];

int main() {
    ifstream in("orase.in");
    ofstream out("orase.out");

    int m, n;
    in>>m>>n;

    int li, di;
    for (int i = 0; i < n; ++i) {
        in>>di>>li;
        if (roads[di] < li) {
            roads[di] = li;
        }
    }

    int maxDist;
    int result = -1;
    int i;
    for (i = 0; i <= m; ++i) {
        if ( roads[i] > 0) {
            maxDist = i + roads[i];
            break;
        }
    }

    for (i = i + 1; i <= m; ++i) {
        maxDist++;
        if ( roads[i] > 0 ) {
            if (roads[i] + maxDist > result) {
                result = roads[i] + maxDist;
            }
            if (roads[i] > maxDist) {
                maxDist = roads[i];
            }
        }
    }
    out<<result;
    out.close();
}