#A6. Interactive Problem Test 2: And-Sum Conversion

Interactive Problem Test 2: And-Sum Conversion

题目描述

现有 nn 个非负整数 a1,a2,,ana_1,a_2,\ldots,a_n。每个非负整数均在 0,1,,150,1,\ldots,15 中取值。

在交互开始前,你可以得到 nn 的值。

你有 44 次交互机会。对于每次交互,你可以指定一个非负整数 xx(必须在 0,1,,150,1,\ldots,15 中取值),并得到 a1,a2,,ana_1,a_2,\ldots,a_n 满足 ai and x=aia_i \text{ and } x=a_i 的项 aia_i 的个数。

请利用这 44 次交互机会求出 a1+a2++ana_1+a_2+\ldots+a_n 的值。

交互方式

本题为交互题。

本题提供额外头文件 "conversion.h",你需要使用它进行交互:

函数 描述 限制 可调用次数
int start(); 它返回 nn 的值。 不限
int interact(int x); 它返回 a1,a2,,ana_1,a_2,\ldots,a_n 满足 ai and x=aia_i \text{ and } x=a_i 的项 aia_i 的个数。 你必须保证 0x150 \le x \le 15 44
void stop(int s); 你需要将 a1+a2++ana_1+a_2+\ldots+a_n 的值传入 ss 你必须在调用后停止交互。 11

请在以下模板上答题。

#include <bits/stdc++.h>
#include "conversion.h"
using namespace std;
int main()
{
  int n = start(); // 得到 n 的值
  int s = 0; // 答案
  // 在此处利用 interact 进行交互
  stop(s); // 提交答案
  return 0;
}

样例

在下面的样例中,n=4n=4{a4}={0,1,2,3}\{a_4\}=\{0,1,2,3\},正确答案为 0+1+2+3=60+1+2+3=6

以下的交互过程可以获得 AC。

调用函数 返回值 解释
start(); 44 n=4n=4
interact(0); 11 a1a_1 满足要求。
interact(1); 22 a1,a2a_1,a_2 满足要求。
interact(2); a1,a3a_1,a_3 满足要求。
interact(3); 44 a1,a2,a3,a4a_1,a_2,a_3,a_4 满足要求。
stop(6); // 提交的答案为 66,答案正确。

数据范围

对于 100%100\% 的数据,1n1061 \le n \le 10^60ai150 \le a_i \le 15