답안 #991987

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
991987 2024-06-03T13:45:02 Z theboatman Hokej (COCI17_hokej) C++17
72 / 120
95 ms 18344 KB
#include <bits/stdc++.h>

using namespace std;

struct Player {
    int power;
    int stamina;
    int id;
};

struct Swap {
    int time;
    int from;
    int to;
};

void solve() {
    int m, n;
    cin >> m >> n;

    vector <Player> players(n);
    for (int i = 0; i < n; i++) {
        cin >> players[i].power >> players[i].stamina;
        players[i].id = i;
    }

    sort(players.begin(), players.end(), [](const Player &a, const Player &b) {
        return a.power > b.power;
    });

    int ykFree = 0;
    vector <int> a(6 * m);
    long long sum = 0;
    for (auto player : players) {
        while(ykFree < 6 * m && player.stamina) {
            player.stamina--;
            a[ykFree] = player.id;
            sum += player.power;

            ykFree++;
        }
    }
    vector <int> startTeam(6);
    for (int i = 0; i < 6; i++) {
        startTeam[i] = a[i * m];
    }

    vector <Swap> swaps;
    for (int i = m * 6 - 1; i > -1; i--) {
        if (i % m == 0) {
            continue;
        }

        if (a[i - 1] != a[i]) {
            swaps.push_back({i % m - 1, a[i - 1], a[i]});
        }

    }

    stable_sort(swaps.begin(), swaps.end(), [](const Swap &a, const Swap &b) {
        return a.time < b.time;
    });


    cout << sum << "\n";
    for (auto i : startTeam) {
        cout << i + 1 << " ";
    }
    cout << "\n";

    cout << swaps.size() << "\n";
    for (auto i : swaps) {
        cout << i.time + 1 << " " << i.from + 1 << " " << i.to + 1 << "\n"; 
    }
} 

int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);

    solve();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 14 ms 12508 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 6 ms 5212 KB Output is correct
6 Correct 1 ms 600 KB Output is correct
7 Incorrect 2 ms 604 KB Output isn't correct
8 Incorrect 17 ms 2916 KB Output isn't correct
9 Incorrect 92 ms 18256 KB Output isn't correct
10 Incorrect 95 ms 18344 KB Output isn't correct