結果
問題 | No.1536 仕切り直し |
ユーザー | SidewaysOwl |
提出日時 | 2021-10-23 13:46:13 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,170 bytes |
コンパイル時間 | 335 ms |
コンパイル使用メモリ | 81,968 KB |
実行使用メモリ | 67,384 KB |
最終ジャッジ日時 | 2024-09-25 04:49:18 |
合計ジャッジ時間 | 2,461 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 42 ms
54,068 KB |
testcase_01 | AC | 41 ms
55,704 KB |
testcase_02 | AC | 42 ms
54,672 KB |
testcase_03 | WA | - |
testcase_04 | AC | 54 ms
63,116 KB |
testcase_05 | AC | 58 ms
66,192 KB |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
testcase_10 | AC | 59 ms
67,384 KB |
testcase_11 | WA | - |
testcase_12 | AC | 56 ms
66,348 KB |
ソースコード
n,m = map(int,input().split()) a = list(map(int,input().split())) from collections import defaultdict d_minus,d_plus = defaultdict(int),defaultdict(int) if a[0] >= 0:turn = -1 else:turn = 1 idx = 0 lan = [] for i in range(n): if turn * a[i] >= 0: lan[len(lan)-1][0] += a[i] else: turn *= -1 # if turn == 1: # d_plus[] # else: if len(lan) != 0: lan[len(lan)-1].append(i) lan.append([a[i],i]) lan[-1].append(n) lan.sort(key = lambda x:x[0]) ans = [] for val,l,r in lan: if val < 0: m -= 1 ans.append(l) if r != n: ans.append(r) m -= 1 # print(m) if m >=0: for i in range(m): ans.append(n) for idx in ans: print(idx) else: not_ans = set() for val,l,r in lan: if val >= 0: if r != n : not_ans.add(r) m += 1 if l == 0: continue not_ans.add(l) m += 1 if m >= 0: break if m == 1: ans.append(n) for idx in ans: if not idx in not_ans: print(idx)