Week11 作業D 必做題11 4

2021-10-05 17:14:00 字數 1120 閱讀 9657

東東和他的女朋友(幻想的)去壽司店吃晚餐(在夢中),他發現了乙個有趣的事情,這家餐廳提供的 n 個的壽司被連續的放置在桌子上 (有序),東東可以選擇一段連續的壽司來吃

東東想吃鰻魚,但是東妹想吃金槍魚。核 平 起 見,他們想選擇一段連續的壽司(這段壽司必須滿足金槍魚的數量等於鰻魚的數量,且前一半全是一種,後一半全是另外一種)我們用1代表鰻魚,2代表金槍魚。

比如,[2,2,2,1,1,1]這段序列是合法的,[1,2,1,2,1,2]是非法的。因為它不滿足第二個要求。

東東希望你能幫助他找到最長的一段合法壽司,以便自己能吃飽。

input

輸入:

第一行:乙個整數n(2≤n≤100000),壽司序列的長度。

第二行:n個整數(每個整數不是1就是2,意義如上所述)

output

輸出:乙個整數(代表東東可以選擇的最長的一段連續的且合法的壽司)

examples

input

72 2 2 1 1 2 2

output

4input

61 2 1 2 1 2

output

2input

92 2 1 1 1 2 2 2 2

output

6

用cnt1記錄1出現的次數,cnt2記錄2出現的次數,c1,c2記錄1與2是否出現過,xf記錄上次出現的數,當c1、c2均為1且xf與x不同時計算長度mx=max(mx,2*min(cnt1,cnt2)),還有計算長度的條件為當i=n-1時同樣用此公式,計算完後要將x的相應引數初始化

#include

using

namespace std;

intmain()

if(c1==

0&&x==2)

if(c1==1)

if(c2==

1&&xf!=x)

else}if

(c2==

1&&xf==x)}if

(c2==1)

}if(i==n-1)

xf=x;

} cout<}

week11作業D 必做題11 4

樣例 input 72 2 2 1 1 2 2 output 4input 61 2 1 2 1 2 output 2input 92 2 1 1 1 2 2 2 2 output 6這題用滑窗的思想解決。具體細節和注釋都在 裡。include using namespace std int a 1...

Week11 作業 D 必做題11 4

一 題目描述 題面 東東和他的女朋友 幻想的 去壽司店吃晚餐 在夢中 他發現了乙個有趣的事情,這家餐廳提供的 n 個的壽司被連續的放置在桌子上 有序 東東可以選擇一段連續的壽司來吃 東東想吃鰻魚,但是東妹想吃金槍魚。核 平 起 見,他們想選擇一段連續的壽司 這段壽司必須滿足金槍魚的數量等於鰻魚的數量...

Week11作業 D 必做題11 4 模擬

東東和他的女朋友 幻想的 去壽司店吃晚餐 在夢中 他發現了乙個有趣的事情,這家餐廳提供的 n 個的壽司被連續的放置在桌子上 有序 東東可以選擇一段連續的壽司來吃 東東想吃鰻魚,但是東妹想吃金槍魚。核 平 起 見,他們想選擇一段連續的壽司 這段壽司必須滿足金槍魚的數量等於鰻魚的數量,且前一半全是一種,...