Pagini recente » Cod sursa (job #2002324) | Cod sursa (job #502431) | Cod sursa (job #1854239) | Cod sursa (job #1127579) | Cod sursa (job #563606)
Cod sursa(job #563606)
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int a[1001] , n , b[1001] , MAX , prec;
int main(){
string sol;
fi>>n;
for(int i=1;i<=n;i++){
fi>>a[i];
b[i]=1;
}
for(int i=1;i<=n;i++){
for(int j=i-1;j>=1;j--){
if(a[i]>a[j]){
b[i]=b[j]+1;
if(MAX<b[i]){
MAX=b[i];
prec=i;
}
break;
}
}
}
a[0]=n;
fo<<MAX<<'\n';
n=prec-1;
MAX--;
while(MAX){
if(b[n]==MAX&&a[prec]>a[n])
MAX--;
else
a[n]=0;
n--;
}
n=a[0];
while(n!=1){
if(a[n]){
fo<<a[n]<<' ';
}
n--;
}
}