QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#169104 | #7102. Live Love | Tjan# | AC ✓ | 1ms | 3848kb | C++17 | 1006b | 2023-09-09 12:26:20 | 2023-09-09 12:26:21 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rof(i,a,b) for(int i=(a);i>=(b);i--)
#define ll long long
#define wln putchar('\n')
template<class T1,class T2> void chkmin(T1 &x,T2 y){if(y<x)x=y;}
template<class T1,class T2> void chkmax(T1 &x,T2 y){if(y>x)x=y;}
#define maxn 100005
int T;
int n, m;
void init()
{
return ;
}
int flor(int x, int k)
{
if(x % k == 0) return x / k;
return x / k + 1;
}
int solve()
{
int l = 1, r = m, mid, ans = 0;
while(l <= r) {
mid = (l + r) / 2;
if((flor(m, mid) - 1) + m <= n) ans = mid, r = mid - 1;
else l = mid + 1;
}
return ans;
}
void Main()
{
init();
scanf("%d%d", &n, &m);
printf("%d ", m);
if(!m) {
printf("0\n");
return ;
}
printf("%d\n", solve());
}
int main()
{
scanf("%d", &T);
while(T--) Main();
return 0;
}
/*
5
5 4
100 50
252 52
3 0
10 10
*/
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3840kb
input:
5 5 4 100 50 252 52 3 0 10 10
output:
4 2 50 1 52 1 0 0 10 10
result:
ok 5 lines
Test #2:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
100 13 3 384 171 94 36 581 70 782 715 651 287 810 789 353 314 2 2 65 47 684 194 242 213 135 42 695 484 512 195 14 0 721 253 665 257 381 78 456 220 1000 500 1000 501 31 31 703 484 137 1 271 55 666 366 966 316 457 248 166 38 716 679 972 258 627 91 380 1 451 436 605 173 987 780 457 180 2 0 718 574 119 ...
output:
3 1 171 1 36 1 70 1 715 11 287 1 789 36 314 8 2 2 47 3 194 1 213 8 42 1 484 3 195 1 0 0 253 1 257 1 78 1 220 1 500 1 501 2 31 31 484 3 1 1 55 1 366 2 316 1 248 2 38 1 679 18 258 1 91 1 1 1 436 28 173 1 780 4 180 1 0 0 574 4 8 1 118 1 126 1 12 2 34 1 381 21 658 4 288 4 161 1 76 1 195 1 646 6 27 1 9 2...
result:
ok 100 lines
Extra Test:
score: 0
Extra Test Passed