# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
958067 | 2024-04-04T20:27:09 Z | I_am_Polish_Girl | Xoractive (IZhO19_xoractive) | C++14 | 3 ms | 344 KB |
#include "interactive.h" #include <iostream> #include <vector> #include <algorithm> #include <map> #include <set> #include <unordered_map> #include <unordered_set> #include <stack> #include <queue> #include <cmath> #include <random> #include <chrono> using namespace std; //#define int long long int log_ = 10; int inf = 1000000000000000000; int mod = 998244353; /* vector <int> a; int ask(int position) { position--; return a[position]; } vector<int> get_pairwise_xor(vector<int> positions) { vector <int> ans; for (int i = 0; i < positions.size(); i++) { for (int j = 0; j < positions.size(); j++) { ans.push_back(a[positions[i] - 1] ^ a[positions[j] - 1]); } } sort(ans.begin(), ans.end()); return ans; }*/ vector<int> guess(int n) { vector <int> ans(n); ans[0] = ask(1); map <int, int> nums_; for (int i = 0; i < 6; i++) { vector <int> ind; for (int j = 1; j < n; j++) { if ((j & (1 << i)) != 0) { ind.push_back(j+1); } } vector <int> ans1 = get_pairwise_xor(ind); ind.push_back(1); vector <int> ans2 = get_pairwise_xor(ind); map <int, int> nums; for (int i = 0; i < ans2.size(); i++) { nums[ans2[i]]++; } for (int i = 0; i < ans1.size(); i++) { nums[ans1[i]]--; } for (auto i_ : nums) { if (i_.second != 0) { nums_[i_.first ^ ans[0]] += (1 << i); } } } for (int i = 1; i < n; i++) { for (auto j : nums_) { if (j.second == i) ans[i] = j.first; } } return ans; };
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Not correct size |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 344 KB | Output is not correct |
2 | Halted | 0 ms | 0 KB | - |