Cod sursa(job #2909244)

Utilizator simion_bogdanSimion Bogdan-Dumitru simion_bogdan Data 10 iunie 2022 11:27:33
Problema Subsir crescator maximal Scor 20
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 1.22 kb
#include<fstream>
#include<climits>

using namespace std;

ifstream cin("scmax.in");
ofstream  cout("scmax.out");

#define maximumLength 100001

int n, maxLength=-1, currentLength=0, priorElement, currentElement, printElement[maximumLength], backElement[maximumLength];

int main() {

	int i,j;

	cin >> n;
	cin >> currentElement;
	backElement[currentLength] = currentElement;
	currentLength++;

	for (i = 1; i < n; i++) {
		
		priorElement = currentElement;
		cin >> currentElement;
		if (priorElement == currentElement) {
			continue;
		}
		else {
			if (priorElement < currentElement) {
				backElement[currentLength] = currentElement;
				currentLength++;
			}
			else {
				if (maxLength < currentLength) {
					maxLength = currentLength;
					for (j = 0; j < currentLength; j++) {
						printElement[j] = backElement[j];
					}
				}
				currentLength = 0;
				backElement[currentLength] = currentElement;
				currentLength++;
			}
		}
	}
	if (maxLength < currentLength) {
		maxLength = currentLength;
		for (j = 0; j < currentLength; j++) {
			printElement[j] = backElement[j];
		}
	}
	cout << maxLength << '\n';
	for (i = 0; i < maxLength; i++) {
		cout << printElement[i] << " ";
	}
}