CF2091G.Gleb and Boating

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

程序员 Gleb 经常访问 IT Campus "NEIMARK" 参加编程训练。

Gleb 不仅是程序员,还是一位著名的划船运动员,因此他选择通过划皮划艇沿河流完成部分通勤路程。假设 Gleb 从点 00 出发,必须到达点 ss(即沿直线划行 ss 米)。为增加挑战性,Gleb 决定不离开线段 [0,s][0, s]。皮划艇的尺寸可忽略不计。

Gleb 是实力强劲的程序员!初始时他的力量为 kk。Gleb 的力量直接影响皮划艇的运动:若当前力量为 xx,则每次划桨可使皮划艇沿当前方向移动 xx 米。Gleb 可以调头并继续向相反方向移动,但此操作十分困难,每次调头后力量会减少 11。力量永远不会变为 00 —— 若当前力量为 11,则即使调头后仍保持 11。此外,Gleb 不能连续两次调头 —— 每次调头后必须至少移动一次才能再次调头。同理,Gleb 不能在出发后立即调头 —— 必须先进行一次划桨。

Gleb 希望在从点 00 到达点 ss 的过程中不离开线段 [0,s][0, s] 并尽可能保留最多力量。请帮助他 —— 给定 ss 和初始力量 kk,确定到达点 ss 时可能保留的最大力量。

输入格式

每个测试包含多个测试用例。第一行包含测试用例数量 tt (1≤t≤1001 \leq t \leq 100)。接下来是测试用例描述。

每个测试用例单独一行,包含两个整数 ss 和 kk (1≤s≤1091 \leq s \leq 10^9,1≤k≤10001 \leq k \leq 1000,k≤sk \leq s)。

保证所有测试用例的 kk 之和不超过 20002000。

输出格式

对于每个测试用例,输出 Gleb 在旅程结束时可能保留的最大力量。

输入输出样例

  • 输入#1

    8
    9 6
    10 7
    24 2
    123456 777
    6 4
    99 6
    10 4
    99 4

    输出#1

    4
    1
    2
    775
    1
    4
    2
    2

说明/提示

第一个样例中 Gleb 的一种可能移动方式:

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页