题意:0代表不成功,1代表成功,你可以删除一些,使得成功后面不可以有不成功,问最多剩下多少
思路:求个0的前缀,1的后缀
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int l[102]; 5 int r[102]; 6 int a[102]; 7 8 int main(){ 9 int n; 10 cin>>n; 11 for(int i=1;i<=n;i++) { 12 scanf("%d",&a[i]); 13 } 14 for(int i=1;i<=n;i++){ 15 l[i]=l[i-1]; 16 if(!a[i]) l[i]++; 17 } 18 for(int i=n;i>=1;i--){ 19 r[i]=r[i+1]; 20 if(a[i]) r[i]++; 21 } 22 int Max=max(l[n],r[1]); 23 for(int i=1;i<=n;i++){ 24 Max=max(Max,l[i]+r[i+1]); 25 } 26 cout<<Max<<endl; 27 }