Cod sursa(job #2344982)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 15 februarie 2019 19:33:55
Problema Subsir crescator maximal Scor 15
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
int N, i, A[100005], K, cnt = 1, F = 1, L, AnsF, AnsL, Max;
int main()
{
    freopen("scmax.in", "r", stdin);
    freopen("scmax.out", "w", stdout);
    scanf("%d", &N);
    for(i = 1; i <= N; i++) scanf("%d", &A[i]);
    for(i = 1; i <= N; i++) if(A[i] != A[i + 1]) A[++K] = A[i];
    N = K;
    for(i = 1; i < N; i++) {
        if(A[i] < A[i + 1]) ++cnt;
        else {
            if(cnt > Max) Max = cnt, AnsF = F, AnsL = i - 1;
            cnt = 1;
            F = i + 1;
        }
    }
    if(cnt > Max) Max = cnt, AnsF = F, AnsL = i;
    printf("%d\n", Max);
    for(i = AnsF; i <= AnsL; i++) printf("%d ", A[i]);
    return 0;
}