結果
問題 |
No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい
|
ユーザー |
![]() |
提出日時 | 2016-10-15 00:54:42 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 996 bytes |
コンパイル時間 | 1,578 ms |
コンパイル使用メモリ | 159,948 KB |
実行使用メモリ | 19,248 KB |
最終ジャッジ日時 | 2024-11-22 09:55:24 |
合計ジャッジ時間 | 160,498 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 1 WA * 20 TLE * 27 |
ソースコード
#include<iostream> #include<bits/stdc++.h> using namespace std; int n, k; int uni[100000]; vector<int> s, p, u, ans; int hantei(int a, int b){ bool flag = false; if(s[a]<s[b])flag=true; else if(s[a]==s[b] && uni[a]>uni[b])flag=true; else if(s[a]==s[b] && uni[a]==uni[b] && p[a]>p[b])flag=true; return flag; } vector<int> solve(){ vector<int> ret; for(int i=0; i<n; i++){ ret.push_back(i); } for(int i=0; i<k; i++)uni[u[i]]++; for(int i=0; i<k; i++){ for(int j=i+1; j<n; j++){ if(hantei(i,j)){ swap(ret[i], ret[j]); uni[j]++; uni[i]++; } } } return ret; } int main(){ int sIn, pIn, uIn; cin>>n>>k; for(int i=0; i<n; i++){ cin>>sIn>>pIn>>uIn; s.push_back(sIn); p.push_back(pIn); u.push_back(uIn); } ans=solve(); for(int i=0; i<k; i++){ cout<<ans[i]<<endl; } return 0; }