結果

問題 No.297 カードの数式
ユーザー Tawara
提出日時 2015-11-10 15:28:35
言語 Python2
(2.7.18)
結果
WA  
実行時間 -
コード長 585 bytes
コンパイル時間 129 ms
コンパイル使用メモリ 6,912 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-13 14:20:34
合計ジャッジ時間 1,256 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 15 WA * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(raw_input())
c = raw_input().split()
p = m = 0
inc = 0
while inc < N - p - m:
	if c[inc].isdigit():
		inc += 1
	elif c.pop(inc) == "+":
		p += 1
	else:
		m += 1
op = m + p
N -= op
c.sort(reverse = True)
max_v = min_v = 0
if m == 0:
	min_v = sum(int(c[i])*10**(i/(op+1)) for i in xrange(N))
	max_v = int("".join(c[:N-op])) + sum(map(int,c[N-op:]))
else:
	min_v = int(c[-1])-int("".join(c[:N+min(1-op,-1)]))-sum(map(int,c[N-op+1:N+min(m-op,-1)]))+sum(map(int,c[N-op+m:N-1]))
	max_v = int("".join(c[:N-op]))+sum(map(int,c[N-op:N-op+p]))-sum(map(int,c[N-op+p:]))
print max_v, min_v
0