#include <bits/stdc++.h>
#define int long long
using namespace std;
struct stats {
int solved;
int idx;
int points;
};
bool srt(stats a, stats b) {
if (a.points == b.points) {
if (a.solved == b.solved) {
return a.idx < b.idx;
}
else {
return a.solved > b.solved;
}
}
else {
return a.points > b.points;
}
}
void solve() {
int n, t, p;
cin >> n >> t >> p;
vector <vector <int> > v(n, vector <int>(t));
vector <int> point(t, 0);
for (int i = 0; i < n; i++) {
for (int j = 0; j < t; j++) {
cin >> v[i][j];
if (v[i][j] == 0) {
point[j]++;
}
}
}
vector <stats> table(n);
for (int i = 0; i < n; i++) {
int sum = 0;
int cnt = 0;
for (int j = 0; j < t; j++) {
if (v[i][j] == 1) {
sum += point[j];
cnt++;
}
}
table[i].points = sum;
table[i].solved = cnt;
table[i].idx = i + 1;
}
sort(table.begin(), table.end(),srt);
for (int i = 0; i < n; i++) {
if (table[i].idx == p) {
cout << table[i].points << " " << i + 1 << endl;
return;
}
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);
int t = 1;
//cin >> t;
while (t--) {
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |