結果
問題 | No.647 明太子 |
ユーザー |
|
提出日時 | 2018-03-01 13:06:50 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,689 ms / 4,500 ms |
コード長 | 1,193 bytes |
コンパイル時間 | 259 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 12,928 KB |
最終ジャッジ日時 | 2024-06-27 02:45:57 |
合計ジャッジ時間 | 8,166 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
#-*- coding: utf-8 -*- # TLE: 3_corner_4.txt if __name__ == "__main__": N = int(input()) conditions = [list(map(int, input().split())) for i in range(N)] M = int(input()) mentaikos = [list(map(int, input().split())) for i in range(M)] purchased = [0 for i in range(M)] kiseki = [0] # 奇跡の明太子 max_purchased_num = 0 # 奇跡の明太子を調べる for i in range(M): # 奇跡の明太子と同じならスキップ is_skip = False for k in kiseki: if k == 0: break if mentaikos[i] == mentaikos[k-1]: kiseki.append(i+1) is_skip = True break if is_skip: continue # 値段と辛さを走査する for j in range(N): if mentaikos[i][0] > conditions[j][0]: # 値段高いなら continue if mentaikos[i][1] < conditions[j][1]: # 辛くないなら continue purchased[i] += 1 if purchased[i] > max_purchased_num: max_purchased_num = purchased[i] kiseki = [] kiseki.append(i+1) elif purchased[i] == max_purchased_num and max_purchased_num != 0: kiseki.append(i+1) # 出力 for i in kiseki: print(i)