题意
给你一个n和m,问你这样一组序列(从1到n)中有多少个子序列是以m为中位数的,如果这个序列长度是偶数,那么就取中间偏左的那个数字
思路
百度之星原题:
HDU5701
和百度之星唯一不同的就是
如果这个序列长度是偶数,那么就取中间偏左的那个数字
仔细想一下,如果我们对于当前的数,我往左,往右延申比他大的我++,比他小的我–,之后如果有某个时刻这个和是0了,那么是不是就说明m是这个区间的一个中位数。
代码
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5+10;
int