제출 #1203820

#제출 시각아이디문제언어결과실행 시간메모리
1203820Sharky마술쇼 (APIO24_show)C++20
100 / 100
2 ms592 KiB
#include <bits/stdc++.h> #include "Alice.h" using namespace std; // you may define some global variables, but it does not work if you try to transfer any information from function Alice() to function Bob() through these variables. // you had better not use the same global variables in function Alice() and in function Bob(). using ll = long long; random_device rd; mt19937 g(rd()); mt19937 rng((int) chrono::steady_clock::now().time_since_epoch().count()); int rnd(int u, int v) { return uniform_int_distribution<int> (u, v) (rng); } std::vector<std::pair<int,int>> Alice(){ vector<pair<int, int>> edge; ll x = setN(5000); vector<int> tar; for (ll i = 59; i >= 0; i--) if (x & (1LL << i)) { for (int j = 0; j < 30; j++) tar.push_back(i+1000); } shuffle(tar.begin(), tar.end(), g); int free = 5000 - tar.size(); for (int i = 2; i <= free; i++) edge.push_back({rnd(max(1, i-999), i-1), i}); for (auto& x : tar) { free++; edge.push_back({free-x, free}); } return edge; }
#include <bits/stdc++.h> #include "Bob.h" using namespace std; // you may define some global variables, but it does not work if you try to transfer any information from function Alice() to function Bob() through these variables. // you had better not use the same global variables in function Alice() and in function Bob(). long long Bob(std::vector<std::pair<int,int>> V){ set<int> bt; for (auto& [x, y] : V) { if (abs(x - y) < 1000) continue; bt.insert(abs(x - y) - 1000); } long long res = 0; for (auto x : bt) res += (1LL << x); return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...