Informatică, întrebare adresată de andreeadiana98, 8 ani în urmă

Vă rog ,mă puteți ajuta la acest exercițiu ?

Cerința
Se dau n numere naturale. Aflati daca acestea pot fi laturile unui poligon cu n laturi.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire
Programul va afișa pe ecran mesajul DA, daca numerele date pot fi laturile unui poligon, altfel se afiseaza mesajul NU.

Restricții și precizări
1 ≤ n ≤ 1000000
cele n numere citite vor fi mai mici decât 1.000.000.000
Exemplul 1:
Intrare

5
1 2 3 4 5
Ieșire

DA
Exemplul 2:
Intrare

4
4 5 10 19
Ieșire

NU

Indicații
Daca una dintre laturi este mai mare sau egala decat suma lungimilor celorlaltor laturi atunci poligonul nu este valid.

Mulțumesc anticipat!!

Răspunsuri la întrebare

Răspuns de lucaciucandrei
4

SOLUTIA DE 100 PCT

#include <iostream>  

using namespace std;

int n, v[1000001];

unsigned long long int sum;

int main() {

   cin >> n;

   for (int i = 1; i <= n; i++) {

       cin >> v[i];

       sum += v[i];

   }

   int sem = 1;

   for (int i = 1; i <= n; i++)

       if (v[i] >= sum - v[i])

           sem = 0;

   if (sem == 1)

       cout << "DA";

   else

       cout << "NU";

   return 0;

}


andreeadiana98: mulțumesc mult !!
lucaciucandrei: cu placere!
Alte întrebări interesante