O - Median Maximization

O - Median Maximization

传送门未知

题意:给两个整数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";
	}
}
上一篇:Android Studio Analyze APK 一直显示 Parsing Manifest探因及解决


下一篇:AT2163 [AGC006B] Median Pyramid Easy