結果

問題 No.297 カードの数式
ユーザー titiatitia
提出日時 2022-11-01 03:44:28
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 31 ms / 1,000 ms
コード長 946 bytes
コンパイル時間 82 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 10,880 KB
最終ジャッジ日時 2024-07-16 00:42:03
合計ジャッジ時間 1,693 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 27 ms
10,752 KB
testcase_01 AC 29 ms
10,752 KB
testcase_02 AC 30 ms
10,880 KB
testcase_03 AC 31 ms
10,880 KB
testcase_04 AC 29 ms
10,752 KB
testcase_05 AC 28 ms
10,752 KB
testcase_06 AC 30 ms
10,880 KB
testcase_07 AC 28 ms
10,752 KB
testcase_08 AC 27 ms
10,880 KB
testcase_09 AC 27 ms
10,752 KB
testcase_10 AC 29 ms
10,880 KB
testcase_11 AC 28 ms
10,880 KB
testcase_12 AC 28 ms
10,752 KB
testcase_13 AC 28 ms
10,752 KB
testcase_14 AC 27 ms
10,752 KB
testcase_15 AC 27 ms
10,752 KB
testcase_16 AC 28 ms
10,752 KB
testcase_17 AC 29 ms
10,880 KB
testcase_18 AC 27 ms
10,752 KB
testcase_19 AC 28 ms
10,752 KB
testcase_20 AC 27 ms
10,752 KB
testcase_21 AC 28 ms
10,880 KB
testcase_22 AC 30 ms
10,880 KB
testcase_23 AC 29 ms
10,880 KB
testcase_24 AC 28 ms
10,752 KB
testcase_25 AC 27 ms
10,880 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from itertools import permutations

n=int(input())
C=input().split()

A=[]
P=0
M=0

for c in C:
    if c =="+":
        P+=1
    elif c=="-":
        M+=1
    else:
        A.append(c)

A.sort(reverse=True)

P1=P
M1=M

l=len(A)-P-M
S=A[:l]

for x in range(l,len(A)):
    if P1>0:
        P1-=1
        S.append("+")
    elif M1>0:
        M1-=1
        S.append("-")

    S.append(A[x])


MAX=eval("".join(S))

if M>0:
    P1=P
    M1=M

    l=len(A)-P-M
    S=["-"]+A[:l]
    M1-=1

    for x in range(l,len(A)):
        if M1>0:
            M1-=1
            S=["-"]+[A[x]]+S
        elif P1>0:
            P1-=1
            S=["+"]+[A[x]]+S
        else:
            S=[A[x]]+S

    MIN=eval("".join(S))
    
else:
    wake=P+1
    K=["" for i in range(wake)]

    A.sort()

    for i in range(len(A)):
        K[i%len(K)]=K[i%len(K)]+A[i]

    MIN=0

    for k in K:
        MIN+=int(k)

print(MAX,MIN)
        
    


                

    
0