結果
問題 | No.297 カードの数式 |
ユーザー |
![]() |
提出日時 | 2015-11-19 17:24:42 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 35 ms / 1,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 95 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-12-26 02:24:20 |
合計ジャッジ時間 | 1,692 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
N=int(input()) C = input().split() C.sort() num = [] op = [] for c in C: if c in '+-': op.append(c) else: num.append(int(c)) l = len(op) nums = [] for i in range(l): nums.append(num[i]) t = 0 for i in range(len(num)-len(op)): t += num[len(op)+i]*10**i nums.append(t) nums.sort() max_v = nums[-1] for i in range(l): if op[i] == '+': max_v += nums[l-i-1] else: max_v -= nums[l-i-1] if '-' in op: min_v = nums[0] for i in range(l): if op[i] == '+': min_v += nums[i+1] else: min_v -= nums[i+1] else: nums = [0]*(l+1) for i in range(len(num)): nums[i%(l+1)] *= 10 nums[i%(l+1)] += num[i] min_v = sum(nums) print(max_v,min_v)