Cod sursa(job #2229258)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 6 august 2018 13:31:09
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;
int Max, N, i, in, sf, k, K;
long long v[100005];
int main()
{
    freopen("scmax.in", "r", stdin);
    freopen("scmax.out", "w", stdout);
    scanf("%d", &N);
    for(i = 1; i <= N; i++) scanf("%lld", &v[i]);
    for(i = 1; i <= N; i++) {
        if(v[i] >= v[i - 1]) {
            k++;
            if(v[i] == v[i - 1]) K++;
        }
        else if(v[i] < v[i - 1]) {
            if(k - K> Max) {
                Max = k;
                sf = i - 1;
                in = sf - k + 1;
            }
            k = 1;
            K = 0;
        }
    }
    if(k - K> Max) {
                Max = k;
                sf = N;
                in = N - k + 1;
    }
    printf("%lld ", v[in]);
    for(i = in + 1; i <= sf; i++) if(v[i] > v[i - 1]) printf("%lld ", v[i]);
    return 0;
}