Submission #767909

# Submission time Handle Problem Language Result Execution time Memory
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;
}
# Verdict Execution time Memory 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