Cod sursa(job #2565528)

Utilizator DorelCristianSorop Dorel Cristian DorelCristian Data 2 martie 2020 14:43:03
Problema Subsir crescator maximal Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
long long n,v[100001],k,i,t,maxim,l[100001];
void Citire ()
{
    f>>n;
    for(long long i=1;i<=n;i++)f>>v[i];
}
int main()
{
    Citire();
    for(k=n-1;k>=1;k--)
    {
        maxim=0;
        for(i=k+1;i<=n;i++)
        {
            if(v[i]>=v[k]&&l[i]>maxim)maxim=l[i];
        }
        l[k]=1+maxim;
    }
    maxim=l[1];
    t=1;
    for(k=1;k<=n;k++)
    {
        if(l[k]>maxim)maxim=l[k],t=k;
    }
    g<<maxim<<"\n"<<t<<" ";
    for(i=t+1;i<=n;i++)
    {
        if(v[i]>v[t]&&l[i]==maxim-1)g<<i<<" ",maxim--;
    }
    return 0;
}