这是一道交互题。
跳蚤国国土面积约五万万平方千米,那里生活着四万万快乐的跳蚤。这是一个晴朗的早晨,为了丰富跳蚤们的生活,跳蚤国王组织了一场跳高比赛,共有
比赛进入准备环节。
然而跳蚤国王的助手伏特早就看穿了一切,他经过长期的观察研究发现第
比赛开始了,但是跳蚤们的心态都不太好,纷纷采取保守策略选取那个使自己跳得最矮的跳高姿势进行跳跃。
然而突然间风停了,立刻起了雾霾,空气污染指数上了五位数。
这可难倒了跳蚤国王,他需要知道跳得最高的跳蚤的高度,然而他现在连自己的手都找不到在哪里了。于是跳蚤国王只好向伏特求助,然而伏特本来想手算出各个跳蚤的成绩,结果发现自己忘记了每个跳高姿势对应的三个参数!
于是跳蚤国王很无奈,只好把伏特踹下裁判席让他去测量选手的成绩。跳蚤国王每次会问这样的问题:“伏特,第
然而跳蚤国王推理能力太弱只能一个一个地按顺序问每只跳蚤的情况,让伏特跑断了腿,于是伏特找到了你。他想让你教教跳蚤国王,怎样询问不超过
输入格式
你需要编写一个函数 find_max
,以确定跳得最高的跳蚤的高度。
find_max(n, m)
n
:跳高姿势的种类数 。保证 。m
:跳蚤的总数 。保证 。- 这个函数返回值应为跳得最高的跳蚤的高度。
你可以调用函数 get
以帮助你确定跳得最高的跳蚤的高度。我们会根据你调用这个函数的总次数评分。
get(p, a, b, c)
将查询第 只跳蚤的跳高姿势的三个参数,分别赋值给 。如果 在 范围之外,该函数将不进行任何操作。
实现细节
本题只支持 C++。
你只能提交一个源文件实现如上所述的 find_max
函数,并且遵循下面的命名和接口。
你需要包含头文件 flea.h
。
long long find_max(int n, int m);
函数 get 的接口信息如下。
void get(int p, long long *a, long long *b, long long *c);
函数将会把跳高姿势的三个参数分别赋值给
如果有不清楚的地方,见样例及测评库下载,内附了样例程序。
评测方式
评测系统将读入如下格式的输入数据:
- 第
行: - 第
行( ): 。
在 find_max
返回后,评测系统将输出你的答案以及 get
函数的总调用次数。
样例一
input
3 1000000 326 -421505646 271727651175230 765 -593058832 140861873339701 291 -633539923 472231112710095
output
146638735615726 3
explanation
第
输出的第二个整数 3 为总调用次数,你可以认为这是一个调用了 3 次 get
函数的程序的输出。
样例二
见样例及测评库下载。
限制与约定
共 get
函数的调用次数为
测试点编号 | 特殊限制 |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | 无 |
6 | |
7 | |
8 | |
9 | |
10 |
对于所有测试点,
时间限制:
空间限制: