Cod sursa(job #2971877)

Utilizator Dadada123dadada123 Dadada123 Data 28 ianuarie 2023 11:14:40
Problema Subsir crescator maximal Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <bits/stdc++.h>
using namespace std;
int v[100002];
int copie[100002];
int dp[100002];
int main()
{
    ifstream cin ("scmax.in");
    ofstream cout ("scmax.out");
    int n;
    cin>>n;
    int mx=-1;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
    }
    int j=2;
    int t=1;
    copie[1]=v[1];
    for(int i=1;i<=n;i++)
    {
        if(v[i]==v[j])
        {
            j++;
        }
        else{
            ++t;
            copie[t]=v[j];
            j++;
        }
    }
    t-1;
    dp[1]=1;
    int poz=0;
    int i;
    for(i=1;i<=t-1;i++)
    {
        if(copie[i]<copie[i+1])
        {
             dp[i]=dp[i-1]+1;
             if(mx<dp[i])
             {
                 mx=dp[i];
                 poz=i+1;
             }
        }
        else
            dp[i]=1;
    }
    cout<<mx<<'\n';

    for(i=poz-mx+1;i<=poz;i++)
        cout<<copie[i]<<" ";
    return 0;
}