Cod sursa(job #2351800)
| Utilizator | Data | 22 februarie 2019 18:22:41 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.82 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int main()
{
int n,a[101],lung[101]={0},l=0,lg=1;
fin>>n;
for(int i=1;i<=n;i++){
fin>>a[i];
}
lung[n]=1;
for(int i=n-1;i>=1;i--){
long long minn=100000000;
l=0;
for(int j=i+1;j<=n;j++){
if(a[j]>a[i]){
if(a[j]<minn){
minn=a[j];
l=lung[j];
}
}
}
if(!l){
lung[i]=1;
}
else{
lung[i]=l+1;
if(l+1>lg){
lg=l+1;
}
}
}
for(int i=1;i<=n;i++){
if(lung[i]==lg){
fout<<a[i]<<" ";
lg--;
}
}
}
