题意:
给定一个数列,每次让最大值-1,最小值+1,问你k次操作之后,数列中的最大值和最小值的差值是多少。
解法:
不管结果是怎样的,我们可以确定的是,最后的最大值和最小值肯定是固定的,但是我们不能确定到底是多少,所以我们需要尝试,而且随着操作次数的增加,最大值会越来越小,最小值会越来越大,所以我们采用二分搜索来找最后的值。值得注意的是,寻找最大值和最小值的边界是不一样的,具体在代码中。
代码:
// Created by CQU_CST_WuErli
// Copyright (c) 2016 CQU_CST_WuErli. All rights reserved.
//
//#pragma comment(linker, "/STACK:102400000,102400000")
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstd