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

Problema #1884 uemm1 de pe pbinfo in c++ va rog:
Cerința
Se dă un șir cu n elemente, numere naturale. Să se afișeze, pentru fiecare element din șir, valoarea din șir aflată după acesta și mai mare decât acesta (Următorul Element Mai Mare). Dacă o asemenea valoare nu există, se va afișa -1.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale șirului.

Date de ieșire
Programul va afișa pe ecran cele n valori determinate, separate prin câte un spațiu.

Restricții și precizări
1 ≤ n ≤ 100000
elementele șirului vor fi mai mai mici decât 1.000.000

Exemplu
Intrare

5
3 4 3 5 1
Ieșire

4 5 5 -1 -1

Răspunsuri la întrebare

Răspuns de robertgaube
0

Răspuns:

#include<iostream>

using namespace std;

int main(){

   long n,i,j;

   int v[100010];

   cout<<"n:"; cin>>n;

   for(i=1;i<=n;i++) cin>>v[i];

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

       j=i+1; while(v[j]<=v[i]&&j<=n) j++;

       if(j==n+1) cout<<"-1"; else cout<<v[j]<<" ";

   }

}


laurstefan2002: Da doar 20p
laurstefan2002: Te rog sa il refaci
laurstefan2002: Eu l-am facut de 40
boiustef: cred că reuşesc..
laurstefan2002: Ok
laurstefan2002: Ai reusit?
Alte întrebări interesante