#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
const int MOD = 1000000007;
const ll LOG = 31;
#define db(x) cerr << #x << " = " << x << " | "
#define dbg(x) cerr << #x << " = " << x << "\n"
#define Algerian ios::sync_with_stdio(0);
#define OI cin.tie(NULL);
#define f first
#define s second
int main() {
Algerian OI
ll n, t, p;
cin >> n >> t >> p;
vector<vector<ll>> contestant(n);
vector<ll> tasks(t, n);
for (ll i = 0; i < n; i++) {
for (ll j = 0; j < t; j++) {
ll c;
cin >> c;
if (c) {
contestant[i].push_back(j);
tasks[j]--;
}
}
}
vector<pair<pll, ll>> scores(n);
for (ll i = 0; i < n; i++) {
ll cur = 0;
for (auto x : contestant[i]) cur += tasks[x];
scores[i] = {{cur, contestant[i].size()}, i};
}
--p;
auto cmp = [=](pair<pll, ll> a, pair<pll, ll> b) -> bool {
if (a.f.f != b.f.f) return a.f.f > b.f.f;
else if (a.f.s != b.f.s) return a.f.s > b.f.s;
else return a.s < b.s;
};
sort(scores.begin(), scores.end(), cmp);
ll idx, score;
for (ll i = 0; i < n; i++) {
if (scores[i].s == p) {
idx = i;
score = scores[i].f.f;
}
}
cout << score << " " << idx + 1 << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |