제출 #1271959

#제출 시각아이디문제언어결과실행 시간메모리
1271959BlockOG카니발 티켓 (IOI20_tickets)C++20
컴파일 에러
0 ms0 KiB
#include "tickets.h" #include <bits/stdc++.h> // mrrrow meeow :3 // go play vivid/stasis now! https://vividstasis.gay #define fo(i, a, b) for(auto i = (a); i < (b); i++) #define pb push_back #define f first #define s second #define be(a) a.begin(), a.end() using namespace std; int sum[1500], f[1500], b[1500]; long long find_maximum(int k, vector<vector<int>> d) { int n = d.size(); int m = d[0].size(); vector<pair<long long, pair<int, int>>> V; long long ans = 0; vector<vector<pair<long long, int>>> d2(n); fo(i, 0, n) fo(j, 0, m) d2[i].pb({d[i][j], j}); fo(i, 0, n) { sort(be(d2[i])); fo(j, 0, k) V.pb({d2[i][m-1-j].f + d2[i][k-1-j].f, {i, j}}), ans -= d2[i][j].f; } sort(be(V), [](pair<long long, pair<int, int>> a, pair<long long, pair<int, int>> b) { return a.f != b.f ? a.f > b.f : a.s < b.s; }); fo(i, 0, n * k / 2) ans += V[i].f, sum[V[i].s.f] = V[i].s.s + 1; vector<vector<int>> res(n, vector<int>(m, -1)); fo(i, 0, k) { vector<pair<int, int>> v; fo(j, 0, n) v.pb({sum[j], j}); sort(be(v)); fo(j, 0, n / 2) res[v[j].s][d2[v[j].s][ f[v[j].s] ].s] = i, f[v[j].s]++; fo(j, n / 2, n) res[v[j].s][d2[v[j].s][s-b[v[j].s]-1].s] = i, b[v[j].s]++, sum[v[j].s]--; } allocate_tickets(res); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:10:11: error: 'second' was not declared in this scope
   10 | #define s second
      |           ^~~~~~
tickets.cpp:41:56: note: in expansion of macro 's'
   41 |                 fo(j, n / 2, n) res[v[j].s][d2[v[j].s][s-b[v[j].s]-1].s] = i, b[v[j].s]++, sum[v[j].s]--;
      |                                                        ^