专栏文章
CF2091D Place of the Olympiad
CF2091D题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miprd23t
- 此快照首次捕获于
- 2025/12/03 16:41 3 个月前
- 此快照最后确认于
- 2025/12/03 16:41 3 个月前
题目传送门
思路
这题很明显可以用二分答案。
每次检查以 为最长长度的长凳的凳子数量是否不小于 。若成立则保存答案且移动右端点,否则移动左端点。
AC Code:
CPP#include <bits/stdc++.h>
using namespace std;
long long n,m;
long long k;
bool check(int x)
{
long long r=n*((m/(x+1)*x)+(m%(x+1)));
return r>=k;
}
void solve()
{
cin >>n>>m>>k;
long long l=1,r=m;
long long ans=0;
while(l<=r)
{
int mid=(l+r)/2;
if(check(mid))
{
ans=mid;
r=mid-1;
}
else l=mid+1;
}
cout <<ans<<'\n';
}
int main()
{
int t;
cin >>t;
while(t--)
{
solve();
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...