제출 #1048475

#제출 시각아이디문제언어결과실행 시간메모리
1048475Tob마술쇼 (APIO24_show)C++17
100 / 100
2 ms1088 KiB
#include <bits/stdc++.h> #include "Alice.h" #define F first #define S second #define all(x) x.begin(), x.end() #define pb push_back #define FIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) using namespace std; typedef long long ll; typedef pair <int, int> pii; const int B = 80, bit = 60, seed = 12345, C = 20; vector <pii> Alice() { int w = B*bit; ll x = setN(w+C); vector <pii> res; mt19937 rng(seed); vector <int> p; for (int i = 0; i < w; i++) p.pb(i/B); shuffle(all(p), rng); for (int i = 1; i < C; i++) res.pb({w+i, w+i+1}); mt19937 rng2(x); auto val = [&](int x) { uniform_int_distribution <int> rnd(0, x-1); return rnd(rng2); }; for (int i = 0; i < w; i++) { if (x & (1LL << p[i])) res.pb({i+1, i+val(C/2-1)+3}); else res.pb({i+1, i+C/2+val(C/2)+2}); } return res; }
#include <bits/stdc++.h> #include "Bob.h" #define F first #define S second #define all(x) x.begin(), x.end() #define pb push_back #define FIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) using namespace std; typedef long long ll; typedef pair <int, int> pii; const int B = 80, bit = 60, seed = 12345, C = 20; ll Bob(vector <pii> v) { int w = B*bit; mt19937 rng(seed); vector <int> p; for (int i = 0; i < w; i++) p.pb(i/B); shuffle(all(p), rng); ll res = 0; for (auto x : v) { if (x.S - x.F <= C/2 && x.F-1 < w) res |= (1LL << p[x.F-1]); } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...