130402025-01-05 11:40:10PKBProgramtermék verseny (70 pont)cpp17Időlimit túllépés 27/70289ms1204 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;
    }

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

    // Variables to track the last positions
    int last_gold = 0, last_silver = 0, last_bronze = 0;

    // Active competitors vector
    vector<Competitor> active_competitors;

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

        // Find Bendegúz's position
        int bendeguz_position = 0;
        for (int j = 0; j < active_competitors.size(); ++j) {
            if (active_competitors[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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base27/70
1Elfogadva0/01ms320 KiB
2Elfogadva0/01ms320 KiB
3Időlimit túllépés0/0284ms1080 KiB
4Elfogadva3/31ms320 KiB
5Elfogadva3/31ms320 KiB
6Elfogadva3/31ms320 KiB
7Elfogadva3/31ms320 KiB
8Elfogadva3/31ms320 KiB
9Elfogadva3/31ms320 KiB
10Elfogadva3/332ms424 KiB
11Elfogadva3/381ms428 KiB
12Elfogadva3/3146ms432 KiB
13Időlimit túllépés0/3287ms320 KiB
14Időlimit túllépés0/4277ms480 KiB
15Időlimit túllépés0/4286ms824 KiB
16Időlimit túllépés0/4282ms824 KiB
17Időlimit túllépés0/4273ms824 KiB
18Időlimit túllépés0/4280ms320 KiB
19Időlimit túllépés0/4280ms568 KiB
20Időlimit túllépés0/4289ms568 KiB
21Időlimit túllépés0/4280ms1080 KiB
22Időlimit túllépés0/4282ms1204 KiB
23Időlimit túllépés0/4284ms1080 KiB