Submission #483543

# Submission time Handle Problem Language Result Execution time Memory
483543 2021-10-30T12:14:57 Z victorang1 Poi (IOI09_poi) C++14
0 / 100
522 ms 24052 KB
//
//  main.cpp
//  sorting
//
//  Created by Team SSG on 30/10/21.
//

#include <iostream>
#include <vector>
#include <algorithm>
#include <map>

using namespace std;

struct Player {
    int score;
    int numberOfProblemSolved;
};

bool mapComparator(pair<int, Player> &a, pair<int, Player> &b) {

    if (a.second.score > b.second.score) return true;
    else if (a.second.score < b.second.score) return false;

    if (a.second.numberOfProblemSolved > b.second.numberOfProblemSolved) return true;
    else if (a.second.numberOfProblemSolved < b.second.numberOfProblemSolved) return false;

    if (a.first < b.first) return true;
    return false;
}

vector<pair<int, Player>> sort(map<int, Player> &userScores) {
    vector<pair<int, Player>> temp;

    for (auto& it : userScores) {
        temp.push_back(it);
    }

    sort(temp.begin(), temp.end(), mapComparator);

    return temp;
}

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

    int N, T, P;

    cin >> N >> T >> P;

    vector<vector<int>> tasks(N, vector<int>(T));
    map<int, int> taskScores;

    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < T; ++j) {
            cin >> tasks[i][j];
            if (tasks[i][j] == 0) {
                taskScores[j] += 1;
            }
        }
    }

    map<int, Player> userScores;

    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < T; ++j) {
            if (tasks[i][j] == 1) {
                userScores[i].score += taskScores[j];
                userScores[i].numberOfProblemSolved++;
            }
        }
    }

    vector<pair<int, Player>> sortedPlayer = sort(userScores);

    int targetId = -1;

    for (auto& it : sortedPlayer) {
        if (it.first == P) {
            targetId = it.first;
            break;
        }
    }

    cout << sortedPlayer[targetId].second.score << ' ' << targetId << '\n';
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Incorrect 0 ms 204 KB Output isn't correct
3 Incorrect 0 ms 204 KB Output isn't correct
4 Incorrect 1 ms 204 KB Output isn't correct
5 Incorrect 1 ms 204 KB Output isn't correct
6 Incorrect 1 ms 204 KB Output isn't correct
7 Incorrect 1 ms 332 KB Output isn't correct
8 Incorrect 1 ms 332 KB Output isn't correct
9 Incorrect 2 ms 332 KB Output isn't correct
10 Incorrect 4 ms 460 KB Output isn't correct
11 Incorrect 14 ms 1048 KB Output isn't correct
12 Incorrect 25 ms 1484 KB Output isn't correct
13 Incorrect 72 ms 3908 KB Output isn't correct
14 Incorrect 103 ms 5352 KB Output isn't correct
15 Incorrect 179 ms 9196 KB Output isn't correct
16 Incorrect 199 ms 10052 KB Output isn't correct
17 Incorrect 305 ms 14548 KB Output isn't correct
18 Incorrect 345 ms 16452 KB Output isn't correct
19 Incorrect 489 ms 21700 KB Output isn't correct
20 Incorrect 522 ms 24052 KB Output isn't correct