結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
big1.txt AC 100 ms
6,560 KB
big2.txt AC 85 ms
6,556 KB
big3.txt AC 61 ms
6,560 KB
big4.txt AC 89 ms
6,556 KB
big5.txt AC 89 ms
6,556 KB
big6.txt AC 73 ms
6,560 KB
big7.txt AC 111 ms
6,556 KB
big8.txt AC 64 ms
6,560 KB
big9.txt AC 61 ms
6,560 KB
big10.txt AC 74 ms
6,560 KB
gen_case1.txt AC 83 ms
6,560 KB
gen_case2.txt AC 95 ms
6,560 KB
gen_case3.txt AC 89 ms
6,560 KB
gen_case4.txt AC 59 ms
6,560 KB
gen_case5.txt AC 74 ms
6,556 KB
gen_case6.txt AC 51 ms
6,560 KB
gen_case7.txt AC 103 ms
6,560 KB
gen_case8.txt AC 103 ms
6,564 KB
gen_case9.txt AC 105 ms
6,556 KB
gen_case10.txt AC 60 ms
6,564 KB
gen_case11.txt AC 69 ms
6,556 KB
gen_case12.txt AC 65 ms
6,560 KB
gen_case13.txt AC 92 ms
6,556 KB
gen_case14.txt AC 75 ms
6,560 KB
gen_case15.txt AC 59 ms
6,564 KB
gen_case16.txt AC 85 ms
6,560 KB
gen_case17.txt AC 66 ms
6,556 KB
gen_case18.txt AC 84 ms
6,564 KB
gen_case19.txt AC 58 ms
6,556 KB
gen_case20.txt AC 91 ms
6,564 KB
in1 AC 4 ms
2,296 KB
in2 AC 4 ms
2,296 KB
system_test1.txt AC 100 ms
6,556 KB
system_test2.txt AC 107 ms
6,560 KB
system_test3.txt AC 69 ms
6,564 KB
test1 AC 4 ms
2,300 KB
test2 AC 4 ms
2,296 KB
test3 AC 3 ms
2,312 KB
test4 AC 4 ms
2,316 KB
test5 AC 5 ms
2,384 KB
test6 AC 5 ms
2,384 KB
test7 AC 10 ms
2,700 KB
test8 AC 10 ms
2,696 KB
test9 AC 9 ms
2,696 KB
test10 AC 9 ms
2,692 KB
test11 AC 6 ms
2,380 KB
test12 AC 20 ms
2,696 KB
test13 AC 21 ms
2,692 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