Submission #499140

#TimeUsernameProblemLanguageResultExecution timeMemory
499140600MihneaGolf (JOI17_golf)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; struct Box { int xmin; int xmax; int ymin; int ymax; }; const int N = 100000 + 7; const int INF = (int) 1e9 + 7; int n; int x1; int y1; int x2; int y2; Box boxes[N]; void normalization() { map<int, int> mx, my; for (int i = 0; i <= n + 1; i++) { mx[boxes[i].xmin] = 0; mx[boxes[i].xmax] = 0; my[boxes[i].ymin] = 0; my[boxes[i].ymax] = 0; } int c = 0; for (auto &it : mx) { it.second = ++c; } c = 0; for (auto &it : my) { it.second = ++c; } for (int i = 0; i <= n + 1; i++) { boxes[i].xmin = mx[boxes[i].xmin]; boxes[i].xmax = mx[boxes[i].xmax]; boxes[i].ymin = my[boxes[i].ymin]; boxes[i].ymax = my[boxes[i].ymax]; } } struct Segment { int where; int low; int high; int e_low; int e_high; int dp; }; vector<vector<Segment>> segs; void calculateextensions() { vector<Segment> xSegs; vector<Segment> ySegs; for (int step = 1; step <= 2; step++) { /// calculate x segs for (int i = 0; i <= n + 1; i++) { xSegs.push_back({boxes[i].ymin, boxes[i].xmin, boxes[i].xmax, 0, 2 * N, -1}); xSegs.push_back({boxes[i].ymax, boxes[i].xmin, boxes[i].xmax, 0, 2 * N, -1}); } for (int i = 0; i <= n + 1; i++) { swap(boxes[i].xmin, boxes[i].ymin); swap(boxes[i].xmax, boxes[i].ymax); } swap(xSegs, ySegs); } assert((int) xSegs.size() == 2 * (n + 2)); assert((int) ySegs.size() == 2 * (n + 2)); for (int step = 1; step <= 2; step++) { /// compute the extensions for (auto &myseg : xSegs) { for (auto &othseg : ySegs) { if (othseg.low < myseg.where && myseg.where < othseg.high) { if (othseg.where < myseg.low) { myseg.e_low = max(myseg.e_low, othseg.where); } else { assert(myseg.high < othseg.where); myseg.e_high = min(myseg.e_high, othseg.where); } } } } /// checker for (auto &it : xSegs) { assert(it.e_low <= it.low); assert(it.high <= it.e_high); } swap(xSegs, ySegs); } segs.push_back(xSegs); segs.push_back(ySegs); } queue<pair<int, int>> q; void addToQ(int type, int index, int value) { assert(0 <= type && type < 2); assert(0 <= index && index < (int) segs[type].size()); assert(segs[type][index].dp == -1); segs[type][index].dp = value; q.push({type, index}); } signed main() { ios::sync_with_stdio(0); cin.tie(0); ///freopen ("input", "r", stdin); cin >> x1 >> y1 >> x2 >> y2; cin >> n; for (int i = 1; i <= n; i++) { cin >> boxes[i].xmin >> boxes[i].xmax >> boxes[i].ymin >> boxes[i].ymax; } boxes[0].xmin = boxes[0].xmax = x1; boxes[0].ymin = boxes[0].ymax = y1; boxes[n + 1].xmin = boxes[n + 1].xmax = x2; boxes[n + 1].ymin = boxes[n + 1].ymax = y2; normalization(); /// do it later calculateextensions(); addToQ(0, 0, 1); addToQ(0, 1, 1); addToQ(1, 0, 1); addToQ(1, 1, 1); while (!q.empty()) { auto itQ = q.front(); q.pop(); int type = itQ.first; int index = itQ.second; int dp = segs[type][index].dp; assert(2 * (n + 2) == (int) segs[type ^ 1].size()); for (int j = 0; j < 2 * (n + 2); j++) { if (segs[type ^ 1][j].dp == -1 && segs[type ^ 1][j].e_low <= segs[type][index].where && segs[type][index].where <= segs[type ^ 1][j].e_high && segs[type][index].e_low <= segs[type ^ 1][j].where && segs[type ^ 1][j].where <= segs[type][index].e_high) { addToQ(type ^ 1, j, segs[type][index].dp + 1); } } } for (auto &v : segs) { for (auto &seg : v) { assert(seg.dp != -1); } } x2 = boxes[n + 1].xmin; y2 = boxes[n + 1].ymin; int sol = INF; swap(x2, y2); for (auto &v : segs) { for (auto &seg : v) { if (x2 == seg.where && seg.e_low <= y2 && y2 <= seg.e_high) { sol = min(sol, seg.dp); } } swap(x2, y2); } cout << sol << "\n"; return 0; }

Compilation message (stderr)

golf.cpp:21:5: error: 'int y1' redeclared as different kind of entity
   21 | int y1;
      |     ^~
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/c++config.h:518,
                 from /usr/include/c++/10/cassert:43,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from golf.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:221:1: note: previous declaration 'double y1(double)'
  221 | __MATHCALL (y1,, (_Mdouble_));
      | ^~~~~~~~~~
golf.cpp: In function 'int main()':
golf.cpp:134:13: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type' {aka 'std::basic_istream<char>'} and 'double(double) noexcept')
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |   ~~~~~~~~~ ^~ ~~
      |       |        |
      |       |        double(double) noexcept
      |       std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:120:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  120 |       operator>>(__istream_type& (*__pf)(__istream_type&))
      |       ^~~~~~~~
/usr/include/c++/10/istream:120:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:124:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]' (near match)
  124 |       operator>>(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/10/istream:124:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:131:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  131 |       operator>>(ios_base& (*__pf)(ios_base&))
      |       ^~~~~~~~
/usr/include/c++/10/istream:131:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:168:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  168 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:168:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: warning: the address of 'double y1(double)' will never be NULL [-Waddress]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
golf.cpp:134:16: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:172:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  172 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/10/istream:172:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'short int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(short int)y1' to 'short int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:175:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  175 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:175:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'short unsigned int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(short unsigned int)y1' to 'short unsigned int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:179:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  179 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/10/istream:179:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(int)y1' to 'int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:182:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  182 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:182:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'unsigned int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(unsigned int)y1' to 'unsigned int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:186:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  186 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:186:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'long int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(long int)y1' to 'long int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:190:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  190 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:190:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'long unsigned int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(long unsigned int)y1' to 'long unsigned int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:195:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  195 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:195:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'long long int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(long long int)y1' to 'long long int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/10/istream:199:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'long long unsigned int' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(long long unsigned int)y1' to 'long long unsigned int&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:235:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]' (near match)
  235 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/10/istream:235:7: note:   conversion of argument 1 would be ill-formed:
golf.cpp:134:16: error: invalid conversion from 'double (*)(double) noexcept' to 'void*' [-fpermissive]
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |                ^~
      |                |
      |                double (*)(double) noexcept
golf.cpp:134:16: error: cannot bind rvalue '(void*)y1' to 'void*&'
In file included from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from golf.cpp:1:
/usr/include/c++/10/istream:214:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]'
  214 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/10/istream:214:25: note:   no known conversion for argument 1 from 'double(double) noexcept' to 'float&'
  214 |       operator>>(float& __f)
      |                  ~~~~~~~^~~
/usr/include/c++/10/istream:218:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]'
  218 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/10/istream:218:26: note:   no known conversion for argument 1 from 'double(double) noexcept' to 'double&'
  218 |       operator>>(double& __f)
      |                  ~~~~~~~~^~~
/usr/include/c++/10/istream:222:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]'
  222 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/10/istream:222:31: note:   no known conversion for argument 1 from 'double(double) noexcept' to 'long double&'
  222 |       operator>>(long double& __f)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/10/istream:259:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
  259 |       operator>>(__streambuf_type* __sb);
      |       ^~~~~~~~
/usr/include/c++/10/istream:259:36: note:   no known conversion for argument 1 from 'double(double) noexcept' to 'std::basic_istream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'}
  259 |       operator>>(__streambuf_type* __sb);
      |                  ~~~~~~~~~~~~~~~~~~^~~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:45,
                 from golf.cpp:1:
/usr/include/c++/10/cstddef:130:5: note: candidate: 'template<class _IntegerType> constexpr std::__byte_op_t<_IntegerType> std::operator>>(std::byte, _IntegerType)'
  130 |     operator>>(byte __b, _IntegerType __shift) noexcept
      |     ^~~~~~~~
/usr/include/c++/10/cstddef:130:5: note:   template argument deduction/substitution failed:
golf.cpp:134:7: note:   cannot convert 'std::cin.std::basic_istream<char>::operator>>(x1)' (type 'std::basic_istream<char>::__istream_type' {aka 'std::basic_istream<char>'}) to type 'std::byte'
  134 |   cin >> x1 >> y1 >> x2 >> y2;
      |   ~~~~^~~~~
In file included from /usr/include/c++/10/string:56,