結果
| 問題 |
No.3210 Fixed Sign Sequense
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-07-25 22:33:21 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 941 bytes |
| コンパイル時間 | 178 ms |
| コンパイル使用メモリ | 82,912 KB |
| 実行使用メモリ | 111,284 KB |
| 最終ジャッジ日時 | 2025-07-25 22:33:26 |
| 合計ジャッジ時間 | 4,486 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 3 WA * 3 TLE * 1 -- * 31 |
ソースコード
n=int(input())
s=input().split("0")
ans=1
p=0
m=0
vp=[]
vm=[]
for i,si in enumerate(s):
if len(si)==0:
ans=max(ans,m+1)
else:
np=0
nm=0
f=[0]
for sii in si:
if sii=="-":
nm+=1
f.append(f[-1]+1)
else:
np+=1
f.append(f[-1])
vp.append(np)
vm.append(nm)
f=f[1:]
si=si[::-1]
b=[0]
for sii in si:
if sii=="+":
b.append(b[-1]+1)
else:
b.append(b[-1])
b=b[1:]
b.reverse()
for fi,bi in zip(f,b):
ans=max(ans,fi+bi+1)
if i==0:
ans=max(ans,nm)
ans=max(ans,np)
else:
ans=max(ans,m+np+1)
m=nm
p=np
for i in range(len(vp)):
for j in range(i+1,len(vp)):
ans=max(ans,vm[i]+vp[j]+1)
print(ans)