社区讨论
P4058 [Code+#1] 木材 90分
灌水区参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m2hlchs5
- 此快照首次捕获于
- 2024/10/20 20:55 去年
- 此快照最后确认于
- 2025/11/04 16:40 4 个月前
求加团:
https://www.luogu.com.cn/team/90259#main
CPP#include<bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 5;
unsigned long long ans, s, L, h[MAXN], a[MAXN];
int n;
bool check(unsigned long long x)
{
unsigned long long sum = 0;
for(int i = 1; i <= n; i++)
{
unsigned long long c = h[i] + a[i] * x;
if(c >= L) sum += c;
}
return sum >= s;
}
int main()
{
cin >> n >> s >> L;
for(int i = 1; i <= n; i++) cin >> h[i];
for(int i = 1; i <= n; i++) cin >> a[i];
if(s == 0)
{
cout << 0;
return 0;
}
unsigned long long l = 0, r = 1e18;
while(l <= r)
{
unsigned long long mid = (l + r) >> 1;
if(check(mid))
{
ans = mid;
r = mid - 1;
}
else l = mid + 1;
}
cout << ans;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...