LIs

LIs

#include <iostream>

#include <stdio.h> 
#include <algorithm>
using namespace std;
const int maxn=1200;
int main(int argc, char** argv) {
int n;
scanf("%d",&n);
int a[maxn];
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int dp[maxn];
// dp[0]=0;
for(int i=1;i<=n;i++){
dp[i]=1;
}
for(int i=1;i<=n;i++){
dp[i]=1;
for(int j=1;j<i;j++){
if(a[i]>=a[j] && dp[j]+1>dp[i]){
dp[i]=dp[j]+1;
}
}
}
int k=1;
for(int i=1;i<=n;i++){
if(dp[i]>dp[k]){
k=i;
}
}
for(int i=1;i<=n;i++){
printf("%d ",dp[i]);
}
putchar('\n');
printf("%d",dp[k]);
return 0;
}

相关文章: