PythonでJOI難易度5を埋める #24
考えたこと
与えられたlogを読んで,うまく処理する
n, m, t, x, y = map(int, input().split()) p = [int(input()) for _ in range(m)] logs_time = [] logs_player = [] logs_problem = [] logs_state = [] for i in range(y): a, b, c, d = input().split() logs_time.append(int(a)) logs_player.append(int(b) - 1) logs_problem.append(int(c) - 1) logs_state.append(d) players = [0] * n cnt_incorrect = [[0] * n for _ in range(m)] open_time = [[0] * n for _ in range(m)] #i番目の問題をj人目がいつOPENしたか for i in range(y): if logs_state[i] == 'open': open_time[logs_problem[i]][logs_player[i]] = logs_time[i] if logs_state[i] == 'correct': players[logs_player[i]] += max(p[logs_problem[i]] - (logs_time[i] - open_time[logs_problem[i]][logs_player[i]]) - 120 * cnt_incorrect[logs_problem[i]][logs_player[i]], x) if logs_state[i] == 'incorrect': cnt_incorrect[logs_problem[i]][logs_player[i]] += 1 for i in range(n): print(players[i])