Cod sursa(job #3284737)

Utilizator roberttbhMarinescu Robert roberttbh Data 12 martie 2025 09:46:55
Problema Orase Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <cmath>
#include <algorithm>

using namespace std;

ifstream in("orase.in");
ofstream out("orase.out");

struct oras
{
    int d, l;
    ///d = distanta fata de inceputul drumului principal
    ///l = lungimea drumului lat
};

const int N = 50000; /// strazi laturalnice
const int M = 1000000; /// lungime strada principala

oras o[N];

int distanta(oras a, oras b)
{
    return abs(a.d - b.d) + a.l + b.l;
}

int main()
{
    int m, n;
    in >> m >> n;
    for (int i = 0; i < n; i++)
    {
        in >> o[i].d >> o[i].l;
    }
    for (int i = 0; i < n + 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            if (o[i].d > o[j].d)
            {
                swap(o[i], o[j]);
            }
        }
    }
    int d_max = distanta(o[0], o[1]);
    oras last = o[0];
    for (int i = 2; i < n; i++)
    {
        int d_c = distanta(o[i], o[i - 1]);
        if (d_c > d_max)
        {
            d_max = d_c;
            last = o[i];
        }
    }
    out << d_max;
    return 0;
}