Submission #884340

#TimeUsernameProblemLanguageResultExecution timeMemory
884340noiaintIzvanzemaljci (COI21_izvanzemaljci)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define int int64_t using namespace std; #ifdef LOCAL #include "debug.h" #else #define debug(...) 42 #endif #define file "" #define mp make_pair #define fi first #define se second #define all(x) x.begin(), x.end() #define bit(x) (1LL << (x)) #define getbit(x, i) (((x) >> (i)) & 1) #define popcount __builtin_popcountll mt19937_64 rd(chrono::steady_clock::now().time_since_epoch().count()); int rand(int l, int r) { return l + rd() % (r - l + 1); } const int N = 1e6 + 5; const int mod = (int)1e9 + 7; // 998244353; const int lg = 25; // lg + 1 const int oo = 1e9; const long long ooo = 1e18; template<class X, class Y> bool mini(X &a, Y b) { return a > b ? (a = b, true) : false; } template<class X, class Y> bool maxi(X &a, Y b) { return a < b ? (a = b, true) : false; } void add(int &a, int b) { a += b; if (a >= mod) a -= mod; if (a < 0) a += mod; } int n, k; pair<int, int> a[N]; namespace task1 { void solve() { int maxx, maxy, minx, miny; maxx = maxy = -oo; minx = miny = oo; for (int i = 1; i <= n; ++i) { int x, y; tie(x, y) = a[i]; maxi(maxx, x); maxi(maxy, y); mini(minx, x); mini(miny, y); } int w = maxx - minx; int h = maxy - miny; int l = max(w, h); l = max(l, 1LL); debug(w, h); cout << minx << ' ' << miny << ' ' << l; } } namespace task2 { int pre_min_x[N], pre_min_y[N], pre_max_x[N], pre_max_y[N]; int suf_min_x[N], suf_min_y[N], suf_max_x[N], suf_max_y[N]; array<int, 3> res[3]; void solve() { sort(a + 1, a + n + 1); pre_min_x[0] = pre_min_y[0] = suf_min_x[n + 1] = suf_min_y[n + 1] = ooo; pre_max_x[0] = pre_max_y[0] = suf_max_x[n + 1] = suf_max_y[n + 1] = -ooo; for (int i = 1; i <= n; ++i) { int x, y; tie(x, y) = a[i]; pre_min_x[i] = min(pre_min_x[i - 1], x); pre_max_x[i] = max(pre_max_x[i - 1], x); pre_min_y[i] = min(pre_min_y[i - 1], y); pre_max_y[i] = max(pre_max_y[i - 1], y); } for (int i = n; i >= 1; --i) { int x, y; tie(x, y) = a[i]; suf_min_x[i] = min(suf_min_x[i + 1], x); suf_max_x[i] = max(suf_max_x[i + 1], x); suf_min_y[i] = min(suf_min_y[i + 1], y); suf_max_y[i] = max(suf_max_y[i + 1], y); } res[0][2] = res[1][2] = ooo; for (int i = 1; i < n; ++i) { // first photo int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]}); int x1 = pre_min_x[i]; int y1 = pre_min_y[i]; // second photo int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]}); int x2 = suf_min_x[i + 1]; int y2 = suf_min_y[i + 1]; // get best if (max(l1, l2) < max(res[0][2], res[1][2])) { res[0] = {x1, y1, l1}; res[1] = {x2, y2, l2}; } } for (int i = 0; i < 2; ++i) { for (int x : res[i]) cout << x << ' '; cout << '\n'; } } } void process() { cin >> n >> k; for (int i = 1; i <= n; ++i) cin >> a[i].fi >> a[i].se; if (k == 1) {task1::solve(); return;} if (k == 2) {task2::solve(); return;} } signed main() { ios::sync_with_stdio(false); cin.tie(0); #ifdef LOCAL freopen("input.txt", "r", stdin); #else // freopen(file".inp", "r", stdin); // freopen(file".out", "w", stdout); #endif int tc = 1; // cin >> tc; while (tc--) { process(); } return 0; } /* */

Compilation message (stderr)

izvanzemaljci.cpp: In function 'void task1::solve()':
izvanzemaljci.cpp:68:19: error: no matching function for call to 'max(int64_t&, long long int)'
   68 |     l = max(l, 1LL);
      |                   ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:68:19: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'long long int')
   68 |     l = max(l, 1LL);
      |                   ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:68:19: note:   deduced conflicting types for parameter 'const _Tp' ('long int' and 'long long int')
   68 |     l = max(l, 1LL);
      |                   ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:68:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   68 |     l = max(l, 1LL);
      |                   ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:68:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'long int'
   68 |     l = max(l, 1LL);
      |                   ^
izvanzemaljci.cpp:9:20: warning: statement has no effect [-Wunused-value]
    9 | #define debug(...) 42
      |                    ^~
izvanzemaljci.cpp:70:5: note: in expansion of macro 'debug'
   70 |     debug(w, h);
      |     ^~~~~
izvanzemaljci.cpp: In function 'void task2::solve()':
izvanzemaljci.cpp:115:85: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
  115 |         int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]});
      |                                                                                     ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:115:85: note:   candidate expects 2 arguments, 1 provided
  115 |         int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]});
      |                                                                                     ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:115:85: note:   candidate expects 3 arguments, 1 provided
  115 |         int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]});
      |                                                                                     ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:115:85: note:   deduced conflicting types for parameter '_Tp' ('long long int' and 'long int')
  115 |         int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]});
      |                                                                                     ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:115:85: note:   deduced conflicting types for parameter '_Tp' ('long long int' and 'long int')
  115 |         int l1 = max({1LL, pre_max_x[i] - pre_min_x[i], pre_max_y[i] - pre_min_y[i]});
      |                                                                                     ^
izvanzemaljci.cpp:120:101: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
  120 |         int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]});
      |                                                                                                     ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:120:101: note:   candidate expects 2 arguments, 1 provided
  120 |         int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]});
      |                                                                                                     ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:120:101: note:   candidate expects 3 arguments, 1 provided
  120 |         int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]});
      |                                                                                                     ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:120:101: note:   deduced conflicting types for parameter '_Tp' ('long long int' and 'long int')
  120 |         int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]});
      |                                                                                                     ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from izvanzemaljci.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
izvanzemaljci.cpp:120:101: note:   deduced conflicting types for parameter '_Tp' ('long long int' and 'long int')
  120 |         int l2 = max({1LL, suf_max_x[i + 1] - suf_min_x[i + 1], suf_max_y[i + 1] - suf_min_y[i + 1]});
      |                                                                                                     ^