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 << " "; } }