# PBinfo #240 – MaxN – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

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

## Cod sursă C++

```cpp
#include <iomanip>
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("maxn.in");
ofstream fout("maxn.out");
int a[305],n;
int main(){
	fin >> n;
	int Max = 0,x;
	for(int i=1;i<=n;++i){
		fin >> x;
		if(x>Max)
			Max = x;
		fout << Max << " ";
	}
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/240)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/240/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-240/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
