关注
int main()
{
int n, m, x, k;
cin >> n >> m >> x >> k;
vector<int> nums(n, 0);
for (int i = 0; i < n; i++)
cin >> nums[i];
int m_min = 50000;
for (auto its : nums)
m_min = min(its, m_min);
int m_max = m_min + m * k;
int l = 1;
int r = m_max;
while (l < r) {
int mid = (l + r + 1)/2;
vector<int> dp(n, 0);
int numm = 0;
bool b1 = true;
for (int i = 0; i < n; i++) {
int num = 0;
int r0 = i + x < n ? i + x : n-1;
for (int j = i - x>0 ? i - x : 0; j <= r0; j++) {
num += dp[j];
}
if (num * k + nums[i] >= mid) {
continue;
}
else {
int lest = mid - num * k - nums[i];
int num2 = lest / k;
if (lest % k != 0)
num2++;
if (num2 + numm > m) {
b1 = false;
break;
}
dp[r0] += num2;
numm += num2;
}
}
if (b1)
{
l = mid;
}
else
r = mid - 1;
}
cout << (l + r) / 2 << endl;
system("pause");
}
二分查找
查看原帖
6 2
相关推荐
01-23 15:35
University of Edinburgh 嵌入式软件工程师 不知道怎么取名字_:嵌入式其实不是很好干的,要学的东西比较多的,你这个c stm32都是比较基础的了
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 除了Java,最推荐学什么技术? #
443次浏览 13人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
651次浏览 27人参与
# 滴滴求职进展汇总 #
298320次浏览 2438人参与
# 秋招报数:你投了多少家公司? #
148131次浏览 944人参与
# 你觉得早上几点上班合适? #
94172次浏览 352人参与
# 如何提高实习转正率? #
80616次浏览 487人参与
# 一人一个landing小技巧 #
143820次浏览 1500人参与
# 我和mentor的爱恨情仇 #
102320次浏览 924人参与
# 聊聊你的被动加班经历 #
7268次浏览 90人参与
# 为了秋招你都做了哪些准备? #
31449次浏览 532人参与
# Tplink求职进展汇总 #
199050次浏览 937人参与
# 你觉得什么岗位会被AI替代 #
35163次浏览 233人参与
# 实习期间如何提升留用概率? #
230719次浏览 1785人参与
# 牛客十周岁生日快乐 #
207432次浏览 1936人参与
# 你觉得mentor喜欢什么样的实习生 #
44979次浏览 986人参与
# 美的求职进展汇总 #
343986次浏览 2064人参与
# 用一句话形容你的团队氛围 #
36243次浏览 281人参与
# 互联网公司评价 #
480242次浏览 4095人参与
# 秋招的破防瞬间 #
500454次浏览 2595人参与
# 秋招想进国企该如何准备 #
123059次浏览 611人参与
查看4道真题和解析