QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#159931#7102. Live Loveucup-team1196#AC ✓1ms3640kbC++142.3kb2023-09-02 19:07:082023-09-02 19:07:08

Judging History

你现在查看的是最新测评结果

  • [2023-09-02 19:07:08]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3640kb
  • [2023-09-02 19:07:08]
  • 提交

answer

/*
 
_/      _/    _/      _/    _/      _/   _/_/_/_/_/     _/_/       _/      _/ 
 _/    _/     _/      _/     _/    _/        _/       _/    _/     _/      _/            
  _/  _/      _/      _/      _/  _/         _/      _/      _/    _/_/  _/_/         
   _/_/       _/_/_/_/_/        _/           _/      _/      _/    _/  _/  _/          
  _/  _/      _/      _/        _/           _/      _/      _/    _/      _/          
 _/    _/     _/      _/        _/           _/       _/    _/     _/      _/          
_/      _/    _/      _/        _/           _/         _/_/       _/      _/       
 
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
#define fastio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define multi int _;cin>>_;while(_--)
#define debug(x) cerr << #x << " = " << (x) << endl;
#define int long long
#define pb push_back
#define eb emplace_back
ll gcd(ll a,ll b){ return b?gcd(b,a%b):a;}
mt19937 mrand(random_device{}());
int rnd(int x){ return mrand() % x; }
void test() {cerr << "\n";}
template<typename T, typename... Args> 
void test(T x, Args... args) {cerr << x << " ";test(args...);}
const ll MOD = 998244353;
//const ll MOD = 1e9+7;
int ksm(int x,int y){int ans=1;x%=MOD;while(y){if(y&1)ans=ans*x%MOD;x=x*x%MOD,y/=2;}return ans;}

const ll P1 = 999971, base1 = 101;
const ll P2 = 999973, base2 = 103;
const ll N = 200005;
//head


void solve(int testcase)
{
    int n, k;
    cin >> n >> k;
    int los = n - k;
    cout << k << " ";
    int l = 0, r = 1e9;
    while(l < r)
    {
        int mid = l + r >> 1;

        auto check = [&](int mid)
        {
            if((mid + 1) * los + mid < n)
            {
                return false;
            }else{
                return true;
            }
        };
        if(check(mid))
        {
            r = mid;
        }else{
            l = mid + 1;
        }
    }
    cout << l << "\n";
}


signed main()
{  
#ifdef localfreopen
    // freopen("1.in","r",stdin);
#endif
    fastio
    int t;
    cin >> t;
    for(int i = 1 ; i <= t ; i++ )
    {
           //cout<<"Case #"<<i<<": ";
        solve(i);
    }
    return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3580kb

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: 1ms
memory: 3640kb

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