三个样例都是对的,为什么只有30分?

tctm142 2023-08-27 16:17:05 2023-08-27 16:20:42 11

#include using namespace std; int main(){ int n,i,max=0,sum=0,s; int a[101]={0}; cin>>n; for(i=0;i<n;i++) cin>>a[i]; s=a[0]; for(i=1;i<n;i++){ if(a[i]<s){ sum++; if(sum>max) max=sum-1; else sum=0; } s=a[i]; } for(i=0;i<n;i++){ if(a[i]<s) sum++; else{ if(sum>max){ max=sum-1; break; } break; } s=a[i]; } cout<<max; return 0; }

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

共 1 条回复

root 站长

5 4 3 2 1 6,以这个例子来说,你构造一个 5 4 3 2 1 6 5 4 3 2 1 6 的数列,然后找到最长的下降序列就是答案了。