Cod sursa(job #1839170)

Utilizator zanescucristianZanescu Cristian zanescucristian Data 2 ianuarie 2017 15:59:04
Problema Orase Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>
#include <vector>
using namespace std;

#define MAX_ORASE   50000

int main()
{
    int lngStradaPrinc,nrOrase,i,j,di,li,d=0,lungimeMaxima=0;
    ifstream in ("orase.in");
    ofstream out ("orase.out");
    in>>lngStradaPrinc>>nrOrase;
    int distanta[MAX_ORASE];
    int lungime [MAX_ORASE];
    if (nrOrase <= MAX_ORASE)
    {
        for (i=0;i < nrOrase; ++i)
        {
            in>>distanta[i]>>lungime[i];
            if (d < distanta[i]) {d = distanta[i];}
        }
        if (lngStradaPrinc >= d)
        {
            for (i=0;i<(nrOrase-1);++i)
            {
                di=distanta[i];
                li=lungime[i];
                for (j = i+1; j < nrOrase; ++j)
                {
                    d = distanta[j] - di;
                    if (d < 0) { d = -d;}
                    d += lungime[j] + li;
                    if (lungimeMaxima < d) { lungimeMaxima = d; }
                }
            }
            out<<lungimeMaxima;
        }
        else
        {
            out<<"Distanta prea mare";   // error message
        }
    }
    else
    {
        out<<"Nr orase prea mare";   // error message
    }
    return 0;
}