Submission #1148966

#TimeUsernameProblemLanguageResultExecution timeMemory
1148966blackslexPoi (IOI09_poi)C++20
50 / 100
232 ms16152 KiB
#include<bits/stdc++.h> using namespace std; using tp = tuple<int, int, int>; int n, m, p; int main() { scanf("%d %d %d", &n, &m, &p); p--; vector<vector<int>> a(n, vector<int>(m)); vector<int> cnt(m, n); for (auto &e: a) { for (auto &E: e) scanf("%d", &E); } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) cnt[i] -= a[j][i]; } vector<int> b(n), cnt2(n); vector<tp> c; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) b[i] += cnt[j] * a[i][j], cnt2[i] += a[i][j]; c.emplace_back(b[i], cnt2[i], i); } sort(c.begin(), c.end(), [&] (const tp &p1, const tp &p2) { auto [x1, y1, z1] = p1; auto [x2, y2, z2] = p2; return (x1 == x2 ? (y1 == y2 ? z1 < z2 : y1 > y2) : x1 > x2); }); int ans = -1; for (int i = 0; i < n; i++) { if (get<2>(c[i]) == p) ans = i; } printf("%d %d", get<0>(c[ans]), ++ans); }

Compilation message (stderr)

poi.cpp: In function 'int main()':
poi.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     scanf("%d %d %d", &n, &m, &p); p--;
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
poi.cpp:13:31: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         for (auto &E: e) scanf("%d", &E);
      |                          ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...