Cod sursa(job #2412468)

Utilizator andreibudacaBudaca Andrei andreibudaca Data 22 aprilie 2019 11:56:08
Problema Subsir crescator maximal Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[1001],n,a[1001],s[1001],m;
void citire(){f>>n; for(int i=1;i<=n;i++) f>>v[i];}
int maxi(int k)
{
    int maxim=0;
    for(int j=2;j<=k;j++) if(a[j]>maxim && v[j]>v[k]) maxim=v[j];
    return maxim;
}
void program(){
a[1]=1;
for(int i=2;i<=n;i++)
{   int maxim=0;
    for(int j=i-1;j>=1;j--) if(a[j]>maxim && v[j]<v[i]) maxim=a[j];
    a[i]=1+maxim;}
int axim=a[1];
for(int i=1;i<=n;i++)
    if(a[i]>axim) axim=a[i];
g<<axim<<endl;
axim++;
for(int i=n;i>=1;i--)
if(a[i]==axim-1) {s[++m]=v[i];axim=a[i];}
for(int i=m;i>=1;i--) g<<s[i]<<" ";
}

int main()
{   citire();
    program();
    return 0;
}