結果
| 問題 |
No.3320 yiwiwiy
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-10-19 21:38:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,163 bytes |
| コンパイル時間 | 406 ms |
| コンパイル使用メモリ | 82,600 KB |
| 実行使用メモリ | 98,012 KB |
| 最終ジャッジ日時 | 2025-10-31 18:56:38 |
| 合計ジャッジ時間 | 15,895 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 WA * 61 |
ソースコード
from collections import deque
def solve():
y,i,w,a,b = map(int, input().split())
# print("yiwab", y, i, w, a, b)
ans = w * (i // 2) * (i - i // 2) * (y // 2) * (y - y // 2) * a
iwiwi = 0
f = []
# print(0, ans)
for k in range(1, w):
m1 = (i - k) // 2
m2 = (i - k) - m1
# print(k, m1, m2)
if m1 <= 0 or m2 <= 0: break
wr = w - (k + 1)
# print(k, m1, m2, wr)
if len(f) < 2:
f.append(0)
for x in range(k+1):
f[-1] += (m1 + x) * (m2 + k - x)
elif m1 == m2:
f.append(f[-2] + (k-1) * (-(k-2)) + (k-2) * (k-1) - (k-1))
f[-1] += (m1 + k - 1) * (m1 + k - (k - 1))
f[-1] += (m1 + k) * (m1 + k - k)
else:
f.append(f[-2] + (k-1) * (-(k-1)) + (k-2) * (k-1) - (k-1))
f[-1] += (m1 + k - 1) * (m1 + k - (k - 1) + 1)
f[-1] += (m1 + k) * (m1 + k - k + 1)
cur = b * k + (wr * (m2 - 1) * (i - m2 + 1) + f[-1]) * (y // 2) * (y - y // 2) * a
# print(k, cur)
if ans < cur:
ans = cur
iwiwi = k
# print(f)
# print(ans)
def create_s(y, i, w, iwiwi):
s = deque()
if iwiwi == 0:
s.append("w" * w)
s.appendleft("i" * (i // 2))
s.append("i" * (i - (i // 2)))
s.appendleft("y" * (y // 2))
s.append("y" * (y - (y // 2)))
return "".join(s)
s.appendleft("i")
i -= 1
for x in range(iwiwi):
if x == 0:
s.append("wiw")
i -= 1
w -= 2
else:
s.append("iw")
i -= 1
w -= 1
s.append("i")
i -= 1
s.append("w" * w)
m1 = i // 2
m2 = i - m1
# print(s)
# print(m1, m2)
s.appendleft("i" * m1)
s.append("i" * m2)
s.appendleft("y" * (y // 2))
s.append("y" * (y - (y // 2)))
return "".join(s)
s = create_s(y, i, w, iwiwi)
print(s)
# print("".join(s))
t = int(input())
for _ in range(t):
solve()