結果

問題 No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい
ユーザー ytft
提出日時 2021-03-22 10:38:20
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 472 ms / 4,000 ms
コード長 1,141 bytes
コンパイル時間 2,377 ms
コンパイル使用メモリ 186,260 KB
実行使用メモリ 14,676 KB
最終ジャッジ日時 2024-11-23 20:05:12
合計ジャッジ時間 19,998 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 48
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In lambda function:
main.cpp:45:5: warning: control reaches end of non-void function [-Wreturn-type]
   45 |     };
      |     ^

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;


int main(){
    vector<vector<int>> parent(11);
    int N,K;
    cin>>N>>K;
    int S,P,U;
    vector<vector<long long>> teams(0);
    for(int i=0;i<N;i++){
        cin>>S>>P>>U;
        teams.push_back({S,P,U,i});
    }
    function<bool(vector<long long>,vector<long long>)> fn=[](vector<long long> v,vector<long long> t){
        if(v[2]!=t[2]){
            return v[2]<t[2];
        }
        if(v[0]!=t[0]){
            return v[0]>t[0];
        }
        return v[1]<t[1];
    };
    sort(teams.begin(),teams.end(),fn);
    teams[0].push_back(0);
    int cur=0;
    for(int i=1;i<N;i++){
        if(teams[i][2]!=teams[i-1][2]){
            cur=0;
        }else{
            cur++;
        }
        teams[i].push_back(cur);
    }
    fn=[](vector<long long> v,vector<long long> t){
        if(v[0]!=t[0]){
            return v[0]>t[0];
        }
        if(v[4]!=t[4]){
            return v[4]<t[4];
        }
        if(v[1]!=t[1]){
            return v[1]<t[1];
        }
    };
    sort(teams.begin(),teams.end(),fn);
    for(int i=0;i<K;i++){
        cout<<teams[i][3]<<endl;
    }
}
0