結果
| 問題 |
No.297 カードの数式
|
| コンテスト | |
| ユーザー |
AEn
|
| 提出日時 | 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)
AEn