https://zerojudge.tw/ShowProblem?problemid=j605
題目說明:
- 考試有n個提交紀錄,每次提交紀錄包含兩整數:時間t 與分數s
- 如果當次提交有嚴重錯誤,得到分數為-1
- 計分公式:n次中最高分 – 總提交次數 – 總嚴重錯誤次數 * 2, 若結果為負則為0分
- 請輸出總分,第一次獲得最高分的時間點
解題概念:
- 提交次數最多6次, 可以放心直接解不會有運算時間限制問題
- 存下每次的時間與分數
- 累計”得到-1分的次數”
Python 解參考:
import sys
all_inputs = sys.stdin.readlines()
K = int(all_inputs[0])
n, s, p = [], [], 0
for i in range(K):
ss = all_inputs[i+1].split()
n.append( int(ss[0]) )
s.append( int(ss[1]) )
p+= (ss[1] == '-1')
all_max = [i for i , v in enumerate(s) if v==max(s)]
score = s[all_max[0]] - len(s) - 2*p
score = max(0, score)
print(score , n[ all_max[0]])