Submission #1002914

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10029142024-06-19 21:20:34pedroslreyIzvanzemaljci (COI21_izvanzemaljci)C++14
5 / 100
121 ms12628 KiB
#include <bits/stdc++.h>
using namespace std;
using lli = long long;
pair<vector<int>, lli> calc(vector<pair<int, int>> points) {
map<int, vector<pair<int, int>>> batch;
for (auto [x, y]: points)
batch[x].emplace_back(x, y);
multiset<int> xs, ys;
for (auto [x, y]: points) {
xs.insert(x);
ys.insert(y);
}
int d = max(*xs.rbegin() - *xs.begin(), *ys.rbegin() - *ys.begin());
d = max(d, 1);
int mx_x = 0, mn_x = 1e9, mx_y = 0, mn_y = 1e9;
vector<int> ans{*xs.begin(), *ys.begin(), d, (int)2e9, (int)2e9, 1}; lli best = 1LL*d*d + 1;
for (auto [k, abas]: batch) {
for (auto [x, y]: abas) {
assert(xs.find(x) != xs.end());
assert(ys.find(y) != ys.end());
if (xs.empty()) break;
mx_x = max(mx_x, x); mn_x = min(mn_x, x);
mx_y = max(mx_y, y); mn_y = min(mn_y, y);
xs.erase(xs.find(x)); ys.erase(ys.find(y));
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

izvanzemaljci.cpp: In function 'std::pair<std::vector<int>, long long int> calc(std::vector<std::pair<int, int> >)':
izvanzemaljci.cpp:8:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
    8 |  for (auto [x, y]: points)
      |            ^
izvanzemaljci.cpp:12:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   12 |  for (auto [x, y]: points) {
      |            ^
izvanzemaljci.cpp:22:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   22 |  for (auto [k, abas]: batch) {
      |            ^
izvanzemaljci.cpp:23:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   23 |   for (auto [x, y]: abas) {
      |             ^
izvanzemaljci.cpp:45:7: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   45 |    if (mn_x + d1 > k)
      |       ^
izvanzemaljci.cpp: In function 'int main()':
izvanzemaljci.cpp:59:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   59 |  for (auto &[x, y]: points)
      |             ^
izvanzemaljci.cpp:64:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   64 |   for (auto [x, y]: points) {
      |             ^
izvanzemaljci.cpp:82:7: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   82 |  auto [ans1, best1] = calc(points);
      |       ^
izvanzemaljci.cpp:83:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   83 |  for (auto &[x, y]: points) swap(x, y);
      |             ^
izvanzemaljci.cpp:84:7: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   84 |  auto [ans2, best2] = calc(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...