結果
| 問題 |
No.2076 Concon Substrings (ConVersion)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-09-16 22:28:24 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,195 bytes |
| コンパイル時間 | 337 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 78,816 KB |
| 最終ジャッジ日時 | 2024-12-21 21:44:16 |
| 合計ジャッジ時間 | 3,632 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 14 WA * 14 |
ソースコード
from heapq import *
n, a, b = map(int, input().split())
S = input()
S = S.replace("con", "*")
lst = []
row = 0
for s in S:
if s == "*":
row += 1
else:
if row != 0:
lst.append(row)
row = 0
if row != 0:
lst.append(row)
lst.sort()
aa = 0
bb = 0
C = []
for l in lst:
aa += l // a
l %= a
bb += l // b
l %= b
C.append(-l)
def f(a, b):
if a > b:
return 2 * b + 1
else:
return 2 * a
heapify(C)
ans = f(aa, bb)
for i in range(aa - 1, -1, -1):
c = -heappop(C)
c += a
bb += c // b
c %= b
heappush(C, -c)
ans = max(ans, f(i, bb))
aa = 0
for i in range(len(C)):
C[i] *= -1
aa += C[i] // a
C[i] %= a
C[i] *= -1
heapify(C)
ans = max(ans, f(aa, bb))
for j in range(bb - 1, -1, -1):
c = -heappop(C)
c += b
aa += c // a
c %= a
heappush(C, -c)
ans = max(ans, f(aa, j))
bb = 0
for i in range(len(C)):
C[i] *= -1
bb += C[i] // b
C[i] %= b
C[i] *= -1
heapify(C)
ans = max(ans, f(aa, bb))
for i in range(aa - 1, -1, -1):
c = -heappop(C)
c += a
bb += c // b
c %= b
heappush(C, -c)
ans = max(ans, f(i, bb))
print(ans)