提出 #38218856


ソースコード 拡げる

from collections import deque

N, A, B = map(int, input().split())
S = list(input())

def count_cost(st, b):  #回文にするコスト
    cost = 0
    for i in range(len(st) // 2):
        if st[i] != st[(i + 1) * (-1)]:
            cost += B
    return cost

que = deque(S)
max_B = N // 2
result = count_cost(que, B)

for i in range(max_B):
    ins = que.popleft()
    que.append(ins)
    result = min(result, count_cost(que, B) + A * (i + 1))

print(result)

提出情報

提出日時
問題 C - Rotate and Palindrome
ユーザ Jone931
言語 PyPy3 (7.3.0)
得点 300
コード長 482 Byte
結果 AC
実行時間 318 ms
メモリ 74612 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 2
AC × 17
セット名 テストケース
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt
ケース名 結果 実行時間 メモリ
00_sample_01.txt AC 162 ms 64608 KiB
00_sample_02.txt AC 52 ms 64820 KiB
01_test_01.txt AC 318 ms 74464 KiB
01_test_02.txt AC 312 ms 74584 KiB
01_test_03.txt AC 313 ms 74600 KiB
01_test_04.txt AC 310 ms 74496 KiB
01_test_05.txt AC 317 ms 74496 KiB
01_test_06.txt AC 316 ms 74548 KiB
01_test_07.txt AC 315 ms 74364 KiB
01_test_08.txt AC 315 ms 74520 KiB
01_test_09.txt AC 311 ms 74528 KiB
01_test_10.txt AC 313 ms 74384 KiB
01_test_11.txt AC 309 ms 74612 KiB
01_test_12.txt AC 310 ms 74588 KiB
01_test_13.txt AC 311 ms 74148 KiB
01_test_14.txt AC 313 ms 74580 KiB
01_test_15.txt AC 308 ms 74600 KiB