結果
問題 | No.1708 Quality of Contest |
ユーザー | 小野寺健 |
提出日時 | 2021-10-30 15:35:14 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 861 bytes |
コンパイル時間 | 155 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 55,740 KB |
最終ジャッジ日時 | 2024-10-07 13:43:24 |
合計ジャッジ時間 | 10,593 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 TLE * 1 |
コンパイルメッセージ
Main.rb:14: warning: assigned but unused variable - k Syntax OK
ソースコード
N, M, X = gets.split(" ").map{|s| s.to_i} A = Array.new(M) {Array.new} N.times { a, b = gets.split(" ").map{|s| s.to_i} A[b-1] << a } A.each {|a| a.sort_by!{|x| -x} } k = gets.to_i c = gets.split(" ").map{|s| s.to_i} cnt = [] cpos = Array.new(M, 0) same = [] diff = [] 0.upto(M-1) {|j| diff << [A[j][0], j] if A[j].length > 0 } diff.sort!.reverse! c.max.times { sa, sb = same.length > 0 ? same[0] : [-Float::INFINITY, -1] da, db = diff.length > 0 ? diff[0] : [-Float::INFINITY, -1] if sa > da + X then same.shift cpos[sb] += 1 if cpos[sb] < A[sb].length then same << [A[sb][cpos[sb]], sb] same.sort!.reverse! end cnt << sa else diff.shift cpos[db] += 1 if cpos[db] < A[db].length same << [A[db][cpos[db]], db] same.sort!.reverse! end cnt << da + X end } total = 0 c.each {|i| total += cnt[0,i].sum } puts total