新题答案!!

ljy123456 爱因斯坦 2022-06-26 15:30:53 2022-06-26 15:31:54 10

#include<bits/stdc++.h>

using namespace std;

int max(int a,int b){

return a>b?a:b;

} int main(){

int k;

int list[26];

int dp[26];

while(cin>>k){

memset(list,0,sizeof(list));

memset(dp,0,sizeof(dp));

for(int i=1;i&lt;=k;i++){

	cin&gt;&gt;list[i];

}
for(int i=1;i&lt;=k;i++){

	int tmax=1;

	for(int j=1;j&lt;i;j++){ 

		if(list[i]&lt;=list[j]){

				tmax=max(tmax,dp[j]+1);

		}

	}

	dp[i]=tmax;

}

int ans=1;

for(int i=1;i&lt;=k;i++){

	if(dp[i]&gt;ans){

		ans=dp[i];

	}

}

cout&lt;&lt;ans&lt;&lt;endl;

}

}

{{ vote && vote.total.up }}