Pagini recente » Borderou de evaluare (job #1877566) | Cod sursa (job #1752873) | Cod sursa (job #1753377) | Borderou de evaluare (job #2079364) | Cod sursa (job #1752291)
#include <iostream>
#include <string.h>
using namespace std;
int n,d[100000],r[100000],res[100000];
void asign(int a[100000],int b[100000],int len){
for(int i=0;i<=len;i++){
a[i]=b[i];
}
}
int main() {
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&d[i]);
}
int len,len1=0;
for(int i=1;i<=n;i++){
memset(r,0,100000);r[0]=d[i];len=0;
for(int j=i+1;j<=n;j++){
if(r[len]<d[j]){
len++;
r[len]=d[j];
}
}
if(len>len1){
len1=len;
asign(res,r,len1);
}
}
cout<<len1+1<<endl;
for(int i=0;i<=len1;i++){
cout<<res[i]<<" ";
}
}