[EGOI 2021] Twin Cookies / 姐妹分饼干

Luogu
IDLGP9311
Time1000ms
Memory256MB
DifficultyP4
2021交互题Special JudgeO2优化EGOI(欧洲/女生)
**本题是一道 I/O 交互题。** 索菲在准备她们姐妹的生日派对。她们都喜欢饼干。这次生日,她们准备尝试一些新东西:不同饼干口味公司(UCTC)生产的饼干。 UCTC 生产的每一个饼干都有一个在 $1$ 到 $10^{16}$ 之间的整数美味度。索菲姐妹会嫉妒彼此,因此她们收到的饼干的总美味度必须相同。 UCTC 只接受**恰好 $n$ 个**饼干的订单。在每个订单中,顾客详细说明他们想要的每个饼干的美味度。 顾名思义,不同饼干口味公司拒绝为同一个顾客生产两块美味度相同的饼干。索菲必须确保她从不订购同一种美味度两次——不管是同一个订单或者两个不同的订单。索菲以前从来没有从 UCTC 订购过,所以她可以购买每种口味的饼干最多一次。 还有一件事阻碍着索菲:众所周知 UCTC 的物流服务极为糟糕。当一个顾客订购 $n$ 个饼干,只有其中一个会被送达。其余的饼干都被物流的员工偷吃了。顾客无法决定到底哪块饼干会被送达。 鉴于生日临近,索菲只有时间订购至多 $101$ 次。你的任务是帮助她。 具体地,你需要做的事情如下: 1. 首先,订购饼干。你可以订购至多 $101$ 次,每次包含恰好 $n$ 个想要的美味度。你可以分多次订购。**在每笔订单发出后,你会立刻知道送达的饼干的美味度。** 请记住你不能多次订购同一个美味度的饼干,即使在不同订单中也不行。(特别地,如果你订购了一些美味度的饼干但没有送达,你也**不能**重复订购同一美味度的饼干。) 2. 然后,分饼干。当你收到足够多饼干的时候,你应该给姐妹分配**一些**饼干。每个人应该收到至少一个饼干,并且她们收到的饼干的总美味度应该相同。**你不需要分配所有送达的饼干。** ## Output 你的程序每次输出后,你必须**刷新输出流**。为了保证交互库立即得到你的输出,这是必须的。 一些例子: - 在 C++ 语言中,有多种选择: - `fflush(stdout);` - `std::cout << std::flush;` - `std::cout << std::endl;`(注意这会打印一个换行) - 从 `std::cin` 读入也会刷新输出流。 - 在 Java 语言中,你可以使用 `System.out.flush()` - 在 Python 语言中,你可以使用 `sys.stdout.flush()` --- **交互方式** 你的程序应该进行如下的若干操作: 1. 从标准输入读入 $n$。 2. 至多 $101$ 次: 1. 首先,向标准输出打印一行描述 $n$ 个饼干的一个订单。 2. 然后,输入送达的饼干美味度。 保证这个数在当前订单的 $n$ 个美味度当中。 3. 输出三行,描述一种给姐妹分配一些饼干的方式。 交互库会在每一行写一个整数。 为了订购饼干,输出一行,以 `?` 打头并跟着 $n$ 个整数:订购的饼干美味度。在每个整数之前输出一个空格。 请记住你可以订购至多 $101$ 次,并且不被允许多次订购相同美味度的饼干。 当你订购了足够多的饼干的时候,输出最后三行描述分配方式。 第一行的格式是 `! m k`,其中 $m,k>0$:两个人分别分到饼干的数量。 第二行包含 $m$ 个正整数,用一个空格隔开:第一个人收到的饼干美味度。 第三行包含 $k$ 个正整数,用一个空格隔开:第二个人收到的饼干美味度。 输出必须满足以下要求: 1. 每个人至少收到一个饼干。 2. 每个人收到饼干的总美味度相同。 3. 你只能使用送达的饼干。 4. 每个饼干只能分给至多一个人。 任何符合要求的输出都将被判为 AC。特别地,你可以以任意顺序输出选择的饼干。 在你输出完最后三行后,最后刷新一次输出流,并正常结束程序。 [samples] ## Background Day 1 Problem C. 题面译自 [EGOI2021 twincookies](https://stats.egoi.org/media/task_description/2021_twincookies_en.pdf)。 本题官方没给交互库,由于交互库实现原因,数据可能较弱。如果您会写自适应交互库,可以与 rui_er 取得联系。 ## Note **提示** 样例输入输出应该一行一行阅读。你的程序交替从标准输入读一个整数以及向标准输出打印一行(或最后三行)。 交互库任意地选择送达的饼干。这意味着在某些测试点中,交互库可能是自适应的;但在另一些测试点中,交互库可能随机选择。特别地,对于 $n=2$,如果你跟样例 $2$ 输出相同的订单,你可能得到不同的结果。 --- **数据范围** 对于全部数据,$1\le n\le 5\times 10^3$。 - 子任务一($8$ 分):$n=1$。 - 子任务二($9$ 分):$n\le 2$。 - 子任务三($18$ 分):$n\le 25$。 - 子任务四($16$ 分):$n\le 200$。 - 子任务五($13$ 分):$n\le 10^3$。 - 子任务六($36$ 分):无特殊限制。
Samples
Input #1
1
13
7
31
12
5
3
Output #1
? 13
? 7
? 31
? 12
? 5
? 3
! 2 3
7 13
12 5 3
Input #2
2
7
2
5
Output #2
? 3 7
? 2 8
? 1 5
! 2 1
2 5
7
API Response (JSON)
{
  "problem": {
    "name": "[EGOI 2021] Twin Cookies / 姐妹分饼干",
    "description": {
      "content": "**本题是一道 I/O 交互题。** 索菲在准备她们姐妹的生日派对。她们都喜欢饼干。这次生日,她们准备尝试一些新东西:不同饼干口味公司(UCTC)生产的饼干。 UCTC 生产的每一个饼干都有一个在 $1$ 到 $10^{16}$ 之间的整数美味度。索菲姐妹会嫉妒彼此,因此她们收到的饼干的总美味度必须相同。 UCTC 只接受**恰好 $n$ 个**饼干的订单。在每个订单中,顾客详细说明他们想要",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 262144
    },
    "difficulty": {
      "LuoguStyle": "P4"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9311"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "**本题是一道 I/O 交互题。**\n\n索菲在准备她们姐妹的生日派对。她们都喜欢饼干。这次生日,她们准备尝试一些新东西:不同饼干口味公司(UCTC)生产的饼干。\n\nUCTC 生产的每一个饼干都有一个在 $1$ 到 $10^{16}$ 之间的整数美味度。索菲姐妹会嫉妒彼此,因此她们收到的饼干的总美味度必须相同。\n\nUCTC 只接受**恰好 $n$ 个**饼干的订单。在每个订单中,顾客详细说明他们想要...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments