結果
問題 | No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい |
ユーザー |
![]() |
提出日時 | 2016-10-15 18:37:08 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 185 ms / 4,000 ms |
コード長 | 1,442 bytes |
コンパイル時間 | 2,234 ms |
コンパイル使用メモリ | 189,840 KB |
実行使用メモリ | 10,160 KB |
最終ジャッジ日時 | 2024-11-22 11:50:46 |
合計ジャッジ時間 | 8,519 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 48 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define rep(i,n) for(int i=0;i<n;i++) #define INF 1<<29 #define LINF LLONG_MAX/3 #define MP make_pair #define PB push_back #define EB emplace_back #define ALL(v) (v).begin(),(v).end() #define all(v) ALL(v) #define debug(x) cerr<<#x<<":"<<x<<endl #define debug2(x,y) cerr<<#x<<","<<#y":"<<x<<","<<y<<endl #define CININIT cin.tie(0),ios::sync_with_stdio(false) template<typename T> ostream& operator<<(ostream& os,const vector<T>& vec){ os << "["; for(const auto& v : vec){ os << v << ","; } os << "]"; return os; } typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<vi> vvi; constexpr ll mod = 1e9+7; #define UNIV_MAX 100010 int main(){ using P4 = tuple<int,int,int,int>; using P3 = tuple<int,int,int>; int n,k; cin>>n>>k; vector<vector<P3>> Univ(UNIV_MAX); rep(i,n){ int s,p,u;cin>>s>>p>>u; Univ[u].push_back(P3(s,-p,i)); } priority_queue<P4> que; rep(i,UNIV_MAX+1) if(Univ[i].size()){ sort(all(Univ[i])); reverse(all(Univ[i])); for(int j=0;j<Univ[i].size();j++){ int s,p,idx; tie(s,p,idx) = Univ[i][j]; que.push(P4(s,-j,p,idx)); } } rep(i,k){ int s,u,p,x; tie(s,u,p,x) = que.top(); que.pop(); cout << x << endl; } }