传送门未知
题意:给两个整数n,s,寻找一个可能的中位数最大的元素非负的数组(元素可以相同),使得数组长度为n,各元素之和为s。
中位数的定义见题目
思路:既然是非负数组,就意味着可以有为0的元素。而且元素可以相同,就意味着可以将中位数前的数全部设为0,原题转换为寻找一个长度为n/2+1的递增数组,使得数组的最小值最大
附上代码(代码很简单,主要是思路):
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define TL ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); int t,ans,n,s; int main() { cin >> t; while(t--) { cin >> n >> s; n = n/2+1; ans = s/n; cout << ans << "\n"; } }