Pagini recente » Cod sursa (job #1156870) | Cod sursa (job #255847) | Cod sursa (job #1584546) | Cod sursa (job #2387285) | Cod sursa (job #563614)
Cod sursa(job #563614)
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int a[1001] , n , b[1001] , MAX=1 , 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;
}
}
}
int aux = MAX ;
a[0]=prec;
fo<<MAX<<'\n';
n=prec;
while(MAX){
if(b[n]==MAX&&a[prec]>=a[n]){
prec=n;
MAX--;
}
else
a[n]=0;
n--;
}
MAX = aux;
n=a[0];
while(MAX){
if(a[n]){
MAX--;
fo<<a[n]<<' ';
}
n--;
}
}