結果
| 問題 |
No.297 カードの数式
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-10 17:41:12 |
| 言語 | Python2 (2.7.18) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,325 bytes |
| コンパイル時間 | 114 ms |
| コンパイル使用メモリ | 6,944 KB |
| 実行使用メモリ | 7,424 KB |
| 最終ジャッジ日時 | 2024-09-13 14:21:18 |
| 合計ジャッジ時間 | 1,698 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 WA * 7 |
ソースコード
from Queue import * # Queue, LifoQueue, PriorityQueue
from bisect import * #bisect, insort
from collections import * #deque, Counter,OrderedDict,defaultdict
#set([])
import math
import copy
import itertools
import string
import sys
myread = lambda : map(int,raw_input().split())
def calc(nums, plus, minus):
op = plus + minus
s = ""
for i in xrange(len(nums)-op):
s += nums[i]
for i in xrange(plus):
s += '+'
s += nums[len(nums) - op + i]
for i in xrange(minus):
s += '-'
s += nums[len(nums) - minus + i]
#print s
return eval(s)
def calc2(nums, plus, minus):
op = plus + minus
s = ""
for i in xrange(plus):
s += nums[i]
s += '+'
for i in xrange(minus):
s += nums[plus + i]
s += '-'
for i in xrange(len(nums)-op):
s += nums[-i-1]
#print s
return eval(s)
def solver():
N = int(raw_input())
plus,minus = 0,0
nums = []
S = raw_input().split()
for i in xrange(N):
if S[i] == '+':
plus += 1
elif S[i] == '-':
minus += 1
else:
nums.append(S[i])
nums.sort()
minv = calc2(nums,plus,minus)
nums.reverse()
maxv = calc(nums,plus,minus)
print maxv,minv
if __name__ == "__main__":
solver()