結果
| 問題 | 
                            No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい
                             | 
                    
| コンテスト | |
| ユーザー | 
                             sntea
                         | 
                    
| 提出日時 | 2016-10-15 14:25:13 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 49 ms / 4,000 ms | 
| コード長 | 2,184 bytes | 
| コンパイル時間 | 1,710 ms | 
| コンパイル使用メモリ | 178,532 KB | 
| 実行使用メモリ | 6,256 KB | 
| 最終ジャッジ日時 | 2024-11-22 11:30:19 | 
| 合計ジャッジ時間 | 4,832 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 48 | 
ソースコード
#ifdef LOCAL111
#else
	#define NDEBUG
#endif
#include <bits/stdc++.h>
const int INF = 1e9;
using namespace std;
template<typename T, typename U> ostream& operator<< (ostream& os, const pair<T,U>& p) { cout << '(' << p.first << ' ' << p.second << ')'; return os; }
#define endl '\n'
#define ALL(a)  (a).begin(),(a).end()
#define SZ(a) int((a).size())
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define REP(i,n)  FOR(i,0,n)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
#define RBP(i,a) for(auto& i : a)
#ifdef LOCAL111
	#define DEBUG(x) cout<<#x<<": "<<(x)<<endl
	template<typename T> void dpite(T a, T b){ for(T ite = a; ite != b; ite++) cout << (ite == a ? "" : " ") << *ite; cout << endl;}
#else
	#define DEBUG(x) true
	template<typename T> void dpite(T a, T b){ return; }
#endif
#define F first
#define S second
#define SNP string::npos
#define WRC(hoge) cout << "Case #" << (hoge)+1 << ": "
#define rangej(a,b,c) ((a) <= (c) and (c) < (b))
#define rrangej(b,c) rangej(0,b,c)
template<typename T> void pite(T a, T b){ for(T ite = a; ite != b; ite++) cout << (ite == a ? "" : " ") << *ite; cout << endl;}
template<typename T> bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;}
template<typename T> bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;}
typedef long long int LL;
typedef unsigned long long ULL;
typedef pair<int,int> P;
typedef pair<LL,LL> LP;
void ios_init(){
	//cout.setf(ios::fixed);
	//cout.precision(12);
#ifdef LOCAL111
	return;
#endif
	ios::sync_with_stdio(false); cin.tie(0);	
}
int main()
{
	ios_init();
	int n,k;
	while(cin >> n >> k){
		using T = tuple<int,int,int,int>;
		vector<T> v[11];
		REP(i,n){
			int s,p,u;
			cin >> s >> p >> u;
			v[s].emplace_back(0,p,i,u);
		}
		unordered_map<int,int> mp;
		int cnt = 0;
		[&](){
			RREP(i,11){
				sort(ALL(v[i]));
				REP(j,SZ(v[i])){
					int c,p,u,ii;
					tie(c,p,ii,u) = v[i][j];
					c = mp[u];
					v[i][j] = make_tuple(c,p,ii,u);
					mp[u]++;
				}
				sort(ALL(v[i]));
				REP(j,SZ(v[i])){
					cnt++;
					cout << get<2>(v[i][j]) << endl;
					if(cnt == k){
						return;
					}
				}
			}
		}();
	}
	return 0;
}
            
            
            
        
            
sntea