Cod sursa(job #3264483)

Utilizator rapidu36Victor Manz rapidu36 Data 21 decembrie 2024 16:17:48
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <algorithm>

using namespace std;

const int N = 50000;

struct oras
{
    int d, l;
};

oras v[N];

bool cmp(oras x, oras y)
{
    return (x.d < y.d);
}

int distanta(oras x, oras y)
{
    return (y.d - x.d + y.l + x.l);
}

int main()
{
    ifstream in("orase.in");
    ofstream out("orase.out");
    int m, n;
    in >> m >> n;
    for (int i = 0; i < n; i++)
    {
        in >> v[i].d >> v[i].l;
    }
    sort(v, v + n, cmp);
    int dist_max = distanta(v[0], v[1]), u = 0;
    for (int i = 2; i < n; i++)
    {
        if (distanta(v[i-1], v[i]) > distanta(v[u], v[i]))
        {
            u = i - 1;
        }
        dist_max = max(dist_max, distanta(v[u], v[i]));
    }
    out << dist_max << "\n";
    in.close();
    out.close();
    return 0;
}