Informatică, întrebare adresată de bianca3785, 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. 0. 0. 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 Sergetec
0

Salut!

Ai rezolvarea in C++ mai jos

#include <iostream>

using namespace std;

int a[1000001];

long long s;

int main()

{

 int n;

 cin >> n;

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

   cin >> a[i];

   s += a[i];

 }

 int ok = true;

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

   if (a[i] >= s - a[i]) {

     ok = false;

   }

 }

 if (ok) {

   cout << "DA";

 }

 else {

   cout << "NU";

 }

 return 0;

}

Alte întrebări interesante