Pagini recente » Cod sursa (job #513123) | Cod sursa (job #888773) | Cod sursa (job #1369599) | Cod sursa (job #1255309) | Cod sursa (job #563622)
Cod sursa(job #563622)
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int a[100001] , n , b[100001] , MAX=1 , prec=1 , sf;
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]=prec;
fo<<MAX<<'\n';
n=prec;
while(MAX){
if(b[n]==MAX&&a[prec]>=a[n]){
prec=n;
MAX--;
}
else
a[n]=0;
n--;
}
sf = n+1;
n=a[0];
for(;sf<=n;sf++)
if(a[sf])
fo<<a[sf]<<' ';
}