Submission #1002876

#TimeUsernameProblemLanguageResultExecution timeMemory
1002876pedroslreyIzvanzemaljci (COI21_izvanzemaljci)C++14
5 / 100
98 ms11860 KiB
#include <bits/stdc++.h> using namespace std; using lli = long long; int main() { int n, k; cin >> n >> k; vector<pair<int, int>> points(n); for (auto &[x, y]: points) cin >> x >> y; sort(points.begin(), points.end()); multiset<int> xs, ys; for (auto [x, y]: points) { xs.insert(x); ys.insert(y); } if (k == 1) { int d2 = max(*xs.rbegin() - *xs.begin(), *ys.rbegin() - *ys.begin()); d2 = max(d2, 1); cout << *xs.begin() << " " << *ys.begin() << " " << d2 << "\n"; return 0; } if (n == 1) { cout << points[0].first << " " << points[0].second << " 1\n"; return 0; } int mx_x = 0, mn_x = 1e9, mx_y = 0, mn_y = 1e9; vector<int> ans; lli best = 1e18; for (auto [x, y]: points) { mx_x = max(mx_x, x); mn_x = min(mn_x, x); mx_y = max(mx_y, y); mn_y = min(mn_y, y); assert(xs.find(x) != xs.end()); assert(ys.find(y) != ys.end()); xs.erase(xs.find(x)); ys.erase(ys.find(y)); if (xs.empty()) break; int d1 = max(mx_x - mn_x, mx_y - mn_y); int d2 = max(*xs.rbegin() - *xs.begin(), *ys.rbegin() - *ys.begin()); d1 = max(d1, 1); d2 = max(d2, 1); lli cost1 = 1LL*d1*d1; lli cost2 = 1LL*d2*d2; if (cost1 + cost2 < best) { best = cost1 + cost2; ans = vector<int>{mn_x, mn_y, d1, *xs.begin(), *ys.begin(), d2}; } } for (int i = 0; i < 6; ++i) cout << ans[i] << (i == 2 ? "\n" : " "); cout << "\n"; }

Compilation message (stderr)

izvanzemaljci.cpp: In function 'int main()':
izvanzemaljci.cpp:11:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   11 |  for (auto &[x, y]: points)
      |             ^
izvanzemaljci.cpp:17:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   17 |  for (auto [x, y]: points) {
      |            ^
izvanzemaljci.cpp:37:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   37 |  for (auto [x, y]: points) {
      |            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...