結果
問題 |
No.297 カードの数式
|
ユーザー |
![]() |
提出日時 | 2022-09-09 01:42:43 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 39 ms / 1,000 ms |
コード長 | 1,025 bytes |
コンパイル時間 | 470 ms |
コンパイル使用メモリ | 82,580 KB |
実行使用メモリ | 54,336 KB |
最終ジャッジ日時 | 2024-11-24 23:08:12 |
合計ジャッジ時間 | 2,211 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
N = int(input()) c = list(map(str, input().split())) pp, mm = 0, 0 n = [] for i in range(N): if c[i] == '+': pp += 1 elif c[i] == '-': mm += 1 else: n.append(int(c[i])) ma = 0 p, m = pp, mm n.sort(reverse=True) nn = len(n)-(p+m) for i in range(len(n)): if i<nn: ma *= 10 ma += n[i] else: if p>0: ma += n[i] p-=1 else: ma -= n[i] p, m = pp, mm if m>0: n.sort() nn = len(n)-(p+m) mi = n[0] sm = '' for i in range(1,len(n)): if p+m-1>0: if p>0: mi += n[i] p-=1 else: mi -= n[i] m-=1 else: sm += str(n[i]) mi -= int(sm[::-1]) else: mi = 0 n.sort(reverse=(True)) num = ['']*(p+1) idx = 0 for i in range(len(n)): num[idx] += str(n[i]) idx += 1 idx %= len(num) for j in range(len(num)): mi += int(num[j][::-1]) print(ma, mi)