这是一篇提前写的博客,因为时间不够,花了四十分钟做了A-C,因为题目A - C比较简单,所以简单说一说吧。
A. Guess the Maximum
题意:给你n个数字,选择i和j满足
,如果其中的最大值大于k,那么Bob赢,其他情况Alice赢,问Alice全部获胜的最大k是多少。
题解:很明显可以想到,数字区间越大,那么最大值是不会变小的,一定会越来越大,所以想要找到最大的k,直接枚举相邻两个数字,求出所有数字的最大值的最小值即可,当然最后要减一。
代码:
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 2e6 + 7 ;
const int mod = 998244353 ;
inline ll read() {
ll x = 0, f = 1 ;
char c = getchar() ;
while (c > '9' || c < '0') {
if (c == '-')
f = -1 ;
c =