fbpx

Problema #240 – MaxN – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dă un şir cu n numere naturale. Să se determine un alt şir de numere, cu proprietatea că valoarea elementului de pe poziţia i (1 ≤ i ≤ n) din acest şir este egală cu cea mai mare dintre valorile primelor i elemente din primul şir.

Date de intrare

Fişierul de intrare maxn.in conţine pe prima linie numărul n, iar pe a următoarele linii n numere naturale separate prin spaţii.

Date de ieşire

Fişierul de ieşire maxn.out va conţine pe prima linie n numere, separate prin câte un spaţiu, reprezentând elementele şirului determinat.

Restricţii şi precizări

  • 1 ≤ n ≤ 100000
  • numerele de pe a doua linie a fişierului de intrare vor avea cel mult 9 cifre

Exemplu

maxn.in

12
4 6 3 7 8 1 6 2 7 9 10 8

maxn.out

4 6 6 7 8 8 8 8 8 9 10 10
#include <bits/stdc++.h>
using namespace std;
ifstream cin("maxn.in");
ofstream cout("maxn.out");
int main()
{
    int n , m , a[100001] , x , ind = 0;
    cin >> n;
    for(int i = 1 ; i <= n ; ++i) cin >> a[i];
    int max = a[1];
    for(int i = 1 ; i <= n ; ++i)
    {
        if(a[i] > max)
        {
            max = a[i];
            cout << max << " ";
        }
        else cout << max << " ";
    }
}
Comentarii

S-ar putea sa iti placa