Submission #784723

# Submission time Handle Problem Language Result Execution time Memory
784723 2023-07-16T12:57:06 Z Soumya1 Xoractive (IZhO19_xoractive) C++17
88 / 100
8 ms 896 KB
#include "interactive.h"
#include <bits/stdc++.h>
using namespace std;
int a0;
vector<int> get_values(vector<int> v) {
	int has = -1;
	for (int i = 0; i < v.size(); i++) {
		if (v[i] == 1) has = i;
	}
	if (has != -1) v.erase(v.begin() + has);
	auto v1 = get_pairwise_xor(v);
	v.push_back(1);
	auto v2 = get_pairwise_xor(v);
	vector<int> final;
	multiset<int> s;
	for (int i : v2) s.insert(i);
	for (int i : v1) s.erase(s.find(i));
	s.erase(s.find(0));
	set<int> ss;
	for (int i : s) ss.insert(i);
	for (int i : ss) final.push_back(i ^ a0);
	if (has != -1) final.push_back(a0);
	sort(final.begin(), final.end());
	return final;
}
vector<int> guess(int n) {
	a0 = ask(1);
	vector<int> ans(n);
	vector<vector<int>> v;
	v.push_back({});
	for (int i = 0; i < n; i++) v.back().push_back(i + 1);
	v.back() = get_values(v.back());
	for (int it = 0; v.size() != n ; it++) {
		vector<int> left;
		int cur = 1;
		for (auto x : v) {
			for (int i = 0; i < x.size() / 2; i++) left.push_back(cur++);
			for (int i = x.size() / 2; i < x.size(); i++) cur++;
		}
		auto vals = get_values(left);
		vector<vector<int>> nv;
		for (auto x : v) {
			vector<int> l, r;
			for (int i : x) {
				if (binary_search(vals.begin(), vals.end(), i)) l.push_back(i);
				else r.push_back(i);
			}
			if (!l.empty()) nv.push_back(l);
			if (!r.empty()) nv.push_back(r);
		}
		v = nv;
	}
	for (int i = 0; i < n; i++) {
		ans[i] = v[i][0];
	}
	return ans;
}

Compilation message

Xoractive.cpp: In function 'std::vector<int> get_values(std::vector<int>)':
Xoractive.cpp:7:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |  for (int i = 0; i < v.size(); i++) {
      |                  ~~^~~~~~~~~~
Xoractive.cpp: In function 'std::vector<int> guess(int)':
Xoractive.cpp:33:28: warning: comparison of integer expressions of different signedness: 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   33 |  for (int it = 0; v.size() != n ; it++) {
      |                   ~~~~~~~~~^~~~
Xoractive.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |    for (int i = 0; i < x.size() / 2; i++) left.push_back(cur++);
      |                    ~~^~~~~~~~~~~~~~
Xoractive.cpp:38:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |    for (int i = x.size() / 2; i < x.size(); i++) cur++;
      |                               ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 6 ms 856 KB Output is partially correct
2 Partially correct 5 ms 848 KB Output is partially correct
3 Partially correct 5 ms 848 KB Output is partially correct
4 Partially correct 6 ms 848 KB Output is partially correct
5 Partially correct 6 ms 848 KB Output is partially correct
6 Partially correct 5 ms 848 KB Output is partially correct
7 Partially correct 5 ms 836 KB Output is partially correct
8 Partially correct 5 ms 832 KB Output is partially correct
9 Partially correct 6 ms 848 KB Output is partially correct
10 Partially correct 5 ms 720 KB Output is partially correct
11 Partially correct 5 ms 848 KB Output is partially correct
12 Partially correct 5 ms 720 KB Output is partially correct
13 Partially correct 5 ms 720 KB Output is partially correct
14 Partially correct 6 ms 856 KB Output is partially correct
15 Partially correct 5 ms 848 KB Output is partially correct
16 Partially correct 6 ms 848 KB Output is partially correct
17 Partially correct 6 ms 848 KB Output is partially correct
18 Partially correct 5 ms 720 KB Output is partially correct
19 Partially correct 5 ms 720 KB Output is partially correct
20 Partially correct 6 ms 848 KB Output is partially correct
21 Partially correct 6 ms 848 KB Output is partially correct
22 Partially correct 6 ms 848 KB Output is partially correct
23 Partially correct 5 ms 848 KB Output is partially correct
24 Partially correct 6 ms 848 KB Output is partially correct
25 Partially correct 6 ms 820 KB Output is partially correct
26 Partially correct 6 ms 808 KB Output is partially correct
27 Partially correct 5 ms 872 KB Output is partially correct
28 Partially correct 6 ms 848 KB Output is partially correct
29 Partially correct 6 ms 848 KB Output is partially correct
30 Partially correct 6 ms 720 KB Output is partially correct
31 Partially correct 7 ms 848 KB Output is partially correct
32 Partially correct 5 ms 848 KB Output is partially correct
33 Partially correct 6 ms 848 KB Output is partially correct
34 Partially correct 6 ms 848 KB Output is partially correct
35 Partially correct 5 ms 848 KB Output is partially correct
36 Partially correct 5 ms 848 KB Output is partially correct
37 Partially correct 5 ms 824 KB Output is partially correct
38 Partially correct 5 ms 720 KB Output is partially correct
39 Partially correct 5 ms 848 KB Output is partially correct
40 Partially correct 6 ms 848 KB Output is partially correct
41 Partially correct 5 ms 720 KB Output is partially correct
42 Partially correct 6 ms 852 KB Output is partially correct
43 Partially correct 5 ms 848 KB Output is partially correct
44 Partially correct 5 ms 720 KB Output is partially correct
45 Partially correct 6 ms 848 KB Output is partially correct
46 Partially correct 7 ms 720 KB Output is partially correct
47 Partially correct 5 ms 728 KB Output is partially correct
48 Partially correct 5 ms 720 KB Output is partially correct
49 Partially correct 5 ms 720 KB Output is partially correct
50 Partially correct 5 ms 816 KB Output is partially correct
51 Partially correct 5 ms 848 KB Output is partially correct
52 Partially correct 5 ms 720 KB Output is partially correct
53 Partially correct 5 ms 844 KB Output is partially correct
54 Partially correct 6 ms 848 KB Output is partially correct
55 Partially correct 5 ms 720 KB Output is partially correct
56 Partially correct 6 ms 848 KB Output is partially correct
57 Partially correct 6 ms 848 KB Output is partially correct
58 Partially correct 5 ms 816 KB Output is partially correct
59 Partially correct 5 ms 848 KB Output is partially correct
60 Partially correct 5 ms 848 KB Output is partially correct
61 Partially correct 5 ms 720 KB Output is partially correct
62 Partially correct 6 ms 848 KB Output is partially correct
63 Partially correct 5 ms 720 KB Output is partially correct
64 Partially correct 5 ms 720 KB Output is partially correct
65 Partially correct 7 ms 864 KB Output is partially correct
66 Partially correct 7 ms 720 KB Output is partially correct
67 Partially correct 5 ms 848 KB Output is partially correct
68 Partially correct 5 ms 720 KB Output is partially correct
69 Partially correct 5 ms 848 KB Output is partially correct
70 Partially correct 6 ms 856 KB Output is partially correct
71 Partially correct 5 ms 848 KB Output is partially correct
72 Partially correct 5 ms 720 KB Output is partially correct
73 Partially correct 6 ms 860 KB Output is partially correct
74 Partially correct 5 ms 720 KB Output is partially correct
75 Partially correct 5 ms 852 KB Output is partially correct
76 Partially correct 6 ms 852 KB Output is partially correct
77 Partially correct 5 ms 724 KB Output is partially correct
78 Partially correct 6 ms 856 KB Output is partially correct
79 Partially correct 5 ms 844 KB Output is partially correct
80 Partially correct 6 ms 844 KB Output is partially correct
81 Partially correct 6 ms 848 KB Output is partially correct
82 Partially correct 5 ms 720 KB Output is partially correct
83 Partially correct 5 ms 836 KB Output is partially correct
84 Partially correct 6 ms 848 KB Output is partially correct
85 Partially correct 5 ms 848 KB Output is partially correct
86 Partially correct 6 ms 848 KB Output is partially correct
87 Partially correct 5 ms 868 KB Output is partially correct
88 Partially correct 6 ms 816 KB Output is partially correct
89 Partially correct 6 ms 848 KB Output is partially correct
90 Partially correct 5 ms 820 KB Output is partially correct
91 Partially correct 5 ms 848 KB Output is partially correct
92 Partially correct 6 ms 776 KB Output is partially correct
93 Partially correct 6 ms 848 KB Output is partially correct
94 Partially correct 8 ms 720 KB Output is partially correct
95 Partially correct 5 ms 720 KB Output is partially correct
96 Partially correct 6 ms 848 KB Output is partially correct
97 Partially correct 6 ms 896 KB Output is partially correct
98 Partially correct 5 ms 720 KB Output is partially correct
99 Partially correct 5 ms 848 KB Output is partially correct
100 Partially correct 6 ms 848 KB Output is partially correct