답안 #767909

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
767909 2023-06-27T09:23:05 Z benjaminkleyn Poi (IOI09_poi) C++17
100 / 100
225 ms 4372 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mp make_pair

int N, T, P;
bool solved[2000][2000];
int value[2000] = {0};
int score[2000] = {0};
int num_solved[2000] = {0};
int rankings[2000];

int main()
{
    cin.tie(0)->sync_with_stdio(0);

    cin >> N >> T >> P;
    for (int i = 0; i < N; i++)
        for (int j = 0; j < T; j++)
        {
            cin >> solved[i][j];
            if (!solved[i][j])
                value[j]++;
        }

    for (int i = 0; i < N; i++)
        for (int j = 0; j < T; j++)
            if (solved[i][j])
                score[i] += value[j], num_solved[i]++;

    iota(rankings, rankings + N, 0);
    sort(rankings, rankings + N, [] (const int &x, const int &y) {return mp(score[x], mp(num_solved[x], -x)) > mp(score[y], mp(num_solved[y], -y));});

    cout << score[P - 1] << ' ';
    for (int i = 0; i < N; i++)
        if (rankings[i] == P - 1)
            return cout << i + 1 << '\n', 0;

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 0 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 1 ms 468 KB Output is correct
10 Correct 2 ms 724 KB Output is correct
11 Correct 7 ms 928 KB Output is correct
12 Correct 12 ms 1212 KB Output is correct
13 Correct 33 ms 1620 KB Output is correct
14 Correct 48 ms 2304 KB Output is correct
15 Correct 84 ms 2648 KB Output is correct
16 Correct 90 ms 2796 KB Output is correct
17 Correct 132 ms 3220 KB Output is correct
18 Correct 149 ms 3636 KB Output is correct
19 Correct 197 ms 4204 KB Output is correct
20 Correct 225 ms 4372 KB Output is correct