Advertisement
Waliul

Flipping Game

Mar 16th, 2020
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     int n, mx = 0, i, j, k, cnt1, cnt2, m, mxx = 0;
  7.     cin>>n;
  8.     int dp[n+1];
  9.     int arr[n+1];
  10.     arr[0] = 0;
  11.     dp[0] = 0;
  12.     int mov = 0;
  13.     for(i = 1; i <= n; i++)
  14.     {
  15.         cin>>arr[i];
  16.         if(arr[i] == 1)
  17.         {
  18.             dp[i] = dp[i-1]+1;
  19.         }
  20.         else
  21.         {
  22.             dp[i] = dp[i-1];
  23.         }
  24.     }
  25.     for(i = 1; i <= n; i++)
  26.     {
  27.         for(j = i; j <= n; j++)
  28.         {
  29.             cnt1 = dp[i - 1] + dp[j] - dp[i - 1] + dp[n] - dp[j];
  30.             cnt2 = dp[i - 1] + j - (i - 1) - (dp[j] - dp[i - 1]) + dp[n] - dp[j];
  31.             mx = max(mx, max(cnt1, cnt2));
  32.             if(mx == cnt2)
  33.             {
  34.                 mov++;
  35.             }
  36.         }
  37.         mxx = max(mxx, mx);
  38.     }
  39.     if(mov == 0)
  40.     {
  41.         mxx--;
  42.     }
  43.     cout<<mxx;
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement