130382025-01-05 11:37:09PKBProgramtermék verseny (70 pont)cpp17Time limit exceeded 27/70298ms1080 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct Competitor {
    int score;
    int index;
};

bool compare(const Competitor &a, const Competitor &b) {
    if (a.score == b.score) return a.index < b.index;
    return a.score > b.score;
}

int main() {
    int N, K;
    cin >> N >> K;

    vector<Competitor> competitors(N);
    for (int i = 0; i < N; ++i) {
        cin >> competitors[i].score;
        competitors[i].index = i + 1;
    }

    // Calculate medal thresholds
    int gold_limit = N / 12;
    int silver_limit = N / 4;
    int bronze_limit = N / 2;

    // Variables to store the last presentation number for each medal
    int last_gold = 0, last_silver = 0, last_bronze = 0;

    vector<Competitor> current_ranking;

    for (int i = 0; i < N; ++i) {
        current_ranking.push_back(competitors[i]);
        sort(current_ranking.begin(), current_ranking.end(), compare);

        // Find Bendegúz's position
        int bendeguz_position = 0;
        for (int j = 0; j < current_ranking.size(); ++j) {
            if (current_ranking[j].index == K) {
                bendeguz_position = j + 1;
                break;
            }
        }

        // Update the last medal positions
        if (bendeguz_position > 0 && bendeguz_position <= gold_limit) {
            last_gold = i + 1;
        } else if (bendeguz_position > gold_limit && bendeguz_position <= silver_limit) {
            last_silver = i + 1;
        } else if (bendeguz_position > silver_limit && bendeguz_position <= bronze_limit) {
            last_bronze = i + 1;
        }
    }

    cout << last_gold << endl;
    cout << last_silver << endl;
    cout << last_bronze << endl;

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base27/70
1Accepted0/01ms320 KiB
2Accepted0/01ms320 KiB
3Time limit exceeded0/0289ms1080 KiB
4Accepted3/31ms552 KiB
5Accepted3/31ms360 KiB
6Accepted3/31ms320 KiB
7Accepted3/31ms320 KiB
8Accepted3/31ms500 KiB
9Accepted3/31ms320 KiB
10Accepted3/332ms500 KiB
11Accepted3/379ms428 KiB
12Accepted3/3146ms436 KiB
13Time limit exceeded0/3298ms460 KiB
14Time limit exceeded0/4277ms320 KiB
15Time limit exceeded0/4284ms824 KiB
16Time limit exceeded0/4280ms824 KiB
17Time limit exceeded0/4289ms964 KiB
18Time limit exceeded0/4286ms320 KiB
19Time limit exceeded0/4284ms584 KiB
20Time limit exceeded0/4282ms756 KiB
21Time limit exceeded0/4287ms1080 KiB
22Time limit exceeded0/4287ms1080 KiB
23Time limit exceeded0/4284ms1080 KiB