답안 #483545

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
483545 2021-10-30T12:19:08 Z victorang1 Poi (IOI09_poi) C++17
0 / 100
526 ms 16340 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;

    return a.first < b.first;
}

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';
}
# 결과 실행 시간 메모리 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 0 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 3 ms 460 KB Output isn't correct
11 Incorrect 13 ms 844 KB Output isn't correct
12 Incorrect 24 ms 1136 KB Output isn't correct
13 Incorrect 71 ms 2680 KB Output isn't correct
14 Incorrect 106 ms 3744 KB Output isn't correct
15 Incorrect 214 ms 6276 KB Output isn't correct
16 Incorrect 218 ms 6756 KB Output isn't correct
17 Incorrect 315 ms 9896 KB Output isn't correct
18 Incorrect 355 ms 11220 KB Output isn't correct
19 Incorrect 485 ms 14680 KB Output isn't correct
20 Incorrect 526 ms 16340 KB Output isn't correct