結果

問題 No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい
ユーザー 🍡yurahuna
提出日時 2016-07-14 12:03:56
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 189 ms
コード長 1,594 Byte
コンパイル時間 1,736 ms
使用メモリ 6,564 KB
最終ジャッジ日時 2019-03-30 08:20:18

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
big1.txt AC 167 ms
6,556 KB
big2.txt AC 127 ms
6,556 KB
big3.txt AC 75 ms
6,564 KB
big4.txt AC 135 ms
6,556 KB
big5.txt AC 139 ms
6,560 KB
big6.txt AC 102 ms
6,556 KB
big7.txt AC 189 ms
6,556 KB
big8.txt AC 81 ms
6,560 KB
big9.txt AC 75 ms
6,556 KB
big10.txt AC 105 ms
6,560 KB
gen_case1.txt AC 125 ms
6,560 KB
gen_case2.txt AC 155 ms
6,560 KB
gen_case3.txt AC 143 ms
6,556 KB
gen_case4.txt AC 73 ms
6,560 KB
gen_case5.txt AC 104 ms
6,564 KB
gen_case6.txt AC 56 ms
6,556 KB
gen_case7.txt AC 178 ms
6,564 KB
gen_case8.txt AC 169 ms
6,556 KB
gen_case9.txt AC 179 ms
6,564 KB
gen_case10.txt AC 73 ms
6,564 KB
gen_case11.txt AC 92 ms
6,560 KB
gen_case12.txt AC 86 ms
6,560 KB
gen_case13.txt AC 145 ms
6,556 KB
gen_case14.txt AC 113 ms
6,564 KB
gen_case15.txt AC 70 ms
6,560 KB
gen_case16.txt AC 132 ms
6,560 KB
gen_case17.txt AC 91 ms
6,564 KB
gen_case18.txt AC 132 ms
6,564 KB
gen_case19.txt AC 69 ms
6,556 KB
gen_case20.txt AC 148 ms
6,560 KB
in1 AC 4 ms
2,296 KB
in2 AC 3 ms
2,300 KB
system_test1.txt AC 171 ms
6,560 KB
system_test2.txt AC 181 ms
6,560 KB
system_test3.txt AC 87 ms
6,560 KB
test1 AC 5 ms
2,300 KB
test2 AC 5 ms
2,300 KB
test3 AC 5 ms
2,316 KB
test4 AC 4 ms
2,316 KB
test5 AC 7 ms
2,388 KB
test6 AC 6 ms
2,388 KB
test7 AC 13 ms
2,696 KB
test8 AC 12 ms
2,692 KB
test9 AC 12 ms
2,696 KB
test10 AC 12 ms
2,692 KB
test11 AC 8 ms
2,388 KB
test12 AC 37 ms
2,692 KB
test13 AC 37 ms
2,696 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
using namespace std;
#define int long long   // <-----!!!!!!!!!!!!!!!!!!!

#define rep(i,n) for (int i=0;i<(n);i++)
#define rep2(i,a,b) for (int i=(a);i<(b);i++)
#define rrep(i,n) for (int i=(n)-1;i>=0;i--)
#define rrep2(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define all(a) (a).begin(),(a).end()

typedef long long ll;
typedef pair<int, int> Pii;
typedef tuple<int, int, int> TUPLE;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
typedef vector<vector<int>> Graph;
const int inf = 1e9;
const int mod = 1e9 + 7;

struct Data {
    int id_team, id_univ;
    int ac, ue, pena;
    Data(){}
    Data(int _id_team, int _id_univ, int _ac, int _ue, int _pena)
        : id_team(_id_team), id_univ(_id_univ), ac(_ac), ue(_ue), pena(_pena) {}
    bool operator<(const Data& r) const {
        return ac == r.ac ? (ue == r.ue ? pena < r.pena : ue < r.ue) : ac > r.ac;
    }
    void print() {
        cerr << id_team << " " << id_univ << " " << ac << " " << ue << " " << pena << endl;
    }
};

signed main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    int N, K;
    cin >> N >> K;
    vector<Data> teams;
    rep(i, N) {
        int s, p, u;
        cin >> s >> p >> u;
        teams.emplace_back(i, u, s, 0, p);
    }
    sort(all(teams));
    // rep(i, N) teams[i].print();

    const int MAX_UNIV = 100001;
    int cnt_ue[MAX_UNIV] = {};
    rep(i, N) {
        teams[i].ue = cnt_ue[teams[i].id_univ];
        ++cnt_ue[teams[i].id_univ];
    }

    sort(all(teams));
    rep(i, K) {
        cout << teams[i].id_team << endl;
    }
}
0