fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int arr[100000],m,n,maxx=-1;
  4. void gcd(int ans,int k,int m,int l){
  5. if(l==n+1){
  6. maxx=max(ans,maxx);
  7. return;
  8. }
  9. if(arr[l]==k){
  10. ans++;
  11. }
  12. l++;
  13. if(m==0){
  14. gcd(ans,k,m,l);
  15. }else{
  16. if(k==1){
  17. gcd(ans,2,m-1,l);
  18. gcd(ans,1,m,l);
  19. }else if(k==2){
  20. gcd(ans,1,m-1,l);
  21. gcd(ans,2,m,l);
  22. }
  23. }
  24. }
  25. int main(){
  26. ios::sync_with_stdio(false);
  27. cin.tie(0),cout.tie(0);
  28. int k;
  29. cin>>n>>m;
  30. for(int i=1;i<=n;i++){
  31. cin>>arr[i];
  32. }
  33. gcd(0,1,m,1);
  34. cout<<maxx;
  35. }
Success #stdin #stdout 0s 5320KB
stdin
7 2
2
1
1
2
2
1
1
stdout
6