Cod sursa(job #2436182)

Utilizator SmitOanea Smit Andrei Smit Data 4 iulie 2019 21:23:09
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>

using namespace std;

int n,m;
int D[50003], L[50003];
int dist[50003];

void Citire()
{
    int i;
    ifstream fin("orase.in");
    fin>>m>>n;
    for(i=1;i<=n;++i)
        fin>>D[i]>>L[i];
    fin.close();
}

void calc_dist(int x)//x este indicele unui oras
{
    //calculez distantele de la orasul x la celelalte orase
    int i,dst;
    for(i=1;i<=n;++i)
    {
        if(i==x)
            dst = 0;
        else
            dst = L[x] + L[i] + abs(D[x] - D[i]);
        dist[i] = dst;
    }
}

int main()
{
    Citire();
    calc_dist(1);
    int i, maxim=-1, capat1;
    for(i=1;i<=n;++i)
        if(dist[i]>maxim)
        {
            maxim = dist[i];
            capat1 = i;
        }
    calc_dist(capat1);
    for(i=1;i<=n;++i)
        if(dist[i]>maxim)
        {
            maxim = dist[i];
            //capat2= i;
        }
    ofstream fout("orase.out");
    fout<<maxim<<"\n";
    fout.close();
    return 0;
}