Submission #1186503

#TimeUsernameProblemLanguageResultExecution timeMemory
1186503MighilonMagic Show (APIO24_show)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #ifdef DEBUG #include "../Library/debug.h" #else #include "Alice.h" #define dbg(x...) #endif typedef long long ll; typedef long double ld; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef vector<int> vi; typedef vector<bool> vb; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; #define FOR(i, a, b) for (int i = (a); i < (b); ++i) #define F0R(i, a) for (int i = 0; i < (a); ++i) #define FORd(i, a, b) for (int i = (b) - 1; i >= (a); --i) #define F0Rd(i, a) for (int i = (a) - 1; i >= 0; --i) #define trav(a, x) for (auto& a : x) #define f first #define s second #define pb push_back #define sz(x) (int)(x).size() #define all(x) x.begin(), x.end() const char nl = '\n'; const int INF = 1e9; const ll MOD = 998244353; const int mxN = 3e5+5; struct DSU { vector<int> par, sz; int c; DSU(int n) : par(n), c(n) { sz.resize(n, 1); for (int i = 0; i < n; ++i) par[i] = i; } int find(int i) { return par[i] == i ? i : (par[i] = find(par[i])); } bool same(int i, int j) { return find(i) == find(j); } int get_size(int i) { return sz[find(i)]; } int count() { return c; } int merge(int i, int j) { if ((i = find(i)) == (j = find(j))) return -1; else --c; if (sz[i] > sz[j]) swap(i, j); par[i] = j; sz[j] += sz[i]; return j; } }; #ifdef DEBUG mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ll x2; ll setN(int n){ x2=uniform_int_distribution<ll>(1,1e18)(rng); // x2++; return x2; } int mx=0; #endif vpi Alice(){ DSU dsu(5000); // int n=5000; // ll x=setN(n); // vpi e; // FOR(i,1,n+1){ // if(i!=x){ // e.pb({i,x}); // } // } // return e; int n=5000; ll x=setN(n); vpi e; F0R(i,60){ if((x>>i)&1){ F0R(j,82){ mx=max({mx,j*60+i+1,(j+1)*60+i+2}); e.pb({j*60+i+1,(j+1)*60+i+2}); } } } trav(i,e){ if(!~dsu.merge(i.f-1,i.s-1)){ assert(0==1); } } F0R(i,n-1){ if(dsu.same(n-1,i)==false){ dsu.merge(n-1,i); e.push_back({n,i+1}); } } sort(all(e)); assert(sz(e)==n-1); return e; } #ifdef DEBUG ll Bob(vpi e){ // vi d(5001); // trav(i,e){ // d[i.f]++; // d[i.s]++; // if(d[i.f]>1) // return i.f; // if(d[i.s]>1) // return i.s; // } set<pi> st; st.insert(all(e)); ll res=0; F0R(i,60){ F0R(j,82){ if(st.find({j*60+i+1,(j+1)*60+i+2})!=st.end()){ res+=(1LL<<i); break; } } } return res; } int32_t main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(1){ auto a=Alice(); dbg(mx) // sort(all(a)); shuffle(all(a),rng); int y=uniform_int_distribution<int>(0,sz(a)/2-1)(rng); dbg(sz(a)); a.erase(a.end()-y,a.end()); dbg(sz(a)); dbg(x2,Bob(a)); assert(x2==Bob(a)); } } #endif
#include <bits/stdc++.h> using namespace std; #ifdef DEBUG #include "../Library/debug.h" #else #include "Bob.h" #define dbg(x...) #endif typedef long long ll; typedef long double ld; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef vector<int> vi; typedef vector<bool> vb; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; #define FOR(i, a, b) for (int i = (a); i < (b); ++i) #define F0R(i, a) for (int i = 0; i < (a); ++i) #define FORd(i, a, b) for (int i = (b) - 1; i >= (a); --i) #define F0Rd(i, a) for (int i = (a) - 1; i >= 0; --i) #define trav(a, x) for (auto& a : x) #define f first #define s second #define pb push_back #define sz(x) (int)(x).size() #define all(x) x.begin(), x.end() const char nl = '\n'; const int INF = 1e9; const ll MOD = 998244353; const int mxN = 3e5+5; ll Bob(vpi e){ // vi d(5001); // trav(i,e){ // d[i.f]++; // d[i.s]++; // if(d[i.f]>1) // return i.f; // if(d[i.s]>1) // return i.s; // } set<pi> st; st.insert(all(e)); ll res=0; F0R(i,60){ F0R(j,82){ if(st.find({j*60+i+1,(j+1)*60+i+2})!=st.end()){ res+=(1LL<<i); break; } } } return res; } #ifdef DEBUG int32_t main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } #endif

Compilation message (stderr)

# 1번째 컴파일 단계

Alice.cpp: In function 'vpi Alice()':
Alice.cpp:94:17: error: 'mx' was not declared in this scope; did you mean 'x'?
   94 |                 mx=max({mx,j*60+i+1,(j+1)*60+i+2});
      |                 ^~
      |                 x
Alice.cpp:94:23: error: no matching function for call to 'max(<brace-enclosed initializer list>)'
   94 |                 mx=max({mx,j*60+i+1,(j+1)*60+i+2});
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from Alice.cpp:1:
/usr/include/c++/11/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++/11/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
Alice.cpp:94:23: note:   candidate expects 2 arguments, 1 provided
   94 |                 mx=max({mx,j*60+i+1,(j+1)*60+i+2});
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from Alice.cpp:1:
/usr/include/c++/11/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++/11/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
Alice.cpp:94:23: note:   candidate expects 3 arguments, 1 provided
   94 |                 mx=max({mx,j*60+i+1,(j+1)*60+i+2});
      |                    ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from Alice.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed: