题目名称 4322. [常州市赛 2025] 金币
输入输出 Gold_coin.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarychyyx 于2026-02-27加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:2, 提交:7, 通过率:28.57%
Gravatarxuyuqing 100 0.107 s 3.64 MiB C++
Gravatarychyyx 100 0.113 s 3.84 MiB C++
GravatarChenBp 70 2.552 s 3.63 MiB C++
Gravatarychyyx 40 0.436 s 3.79 MiB C++
Gravatar梦那边的美好ME 40 1.217 s 4.12 MiB C++
Gravatar梦那边的追忆SB 40 1.861 s 13.02 MiB C++
GravatarChenBp 30 6.614 s 3.47 MiB C++
本题关联比赛
寒假集训4
关于 金币 的近10条评论(全部评论)

4322. [常州市赛 2025] 金币

★★★   输入文件:Gold_coin.in   输出文件:Gold_coin.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

搬运自 https://www.luogu.com.cn/problem/B4395。数据为随机生成数据。

【题目描述】

有 $n$ 个人在争夺一枚金币。

所有人排成一队,然后位于第 $1,1+k,1+2k,\cdots,1+(\lceil \frac{n}{k}\rceil−1)k$ 个的人被淘汰,这里 $\lceil \frac{n}{k} \rceil$ 为 $n$ 除以 $k$ 上取整,上取整操作会将一个小数变成大于或等于它的最小整数,如 $\lceil \frac{33}{5} \rceil=\lceil 6.6 \rceil=7$。 重复这一操作,直到仅剩一个人。最终剩下的这个人获得这枚金币。

小 Y 是所有人中最聪明的。他想知道,要想最终获得金币,一开始他应该站在第几个位置?

【输入格式】

一行包含两个正整数 $n$ 和 $k$,表示总人数以及淘汰时用到的参数。

【输出格式】

输出一行一个整数,表示小 Y 应该处于的初始队列中的位置。

【样例输入#1】

6 2

【样例输出#1】

4

【样例输入#2】

8 3

【样例输入#2】

8

【样例输入#3】

10000 2

【样例输入#3】

8192

【样例输入#4】

1919810 114514

【样例输入#4】

1919805

【样例说明】    

样例 1 解释

起初,队列 $=[1,2,3,4,5,6]$,因为 $k=2$,所以位于第 $1,3,5$ 的人被淘汰,队列 $=[2,4,6]$,然后位于第 $1,3$ 的人被淘汰,队列 $=[4]$,只剩下一个人,所以小 Y 一开始应该站在 $4$ 号位置。

样例 2 解释

起初,队列 $=[1,2,3,4,5,6,7,8]$,因为 $k=3$,所以位于 $1,4,7$ 的人被淘汰,队列 $= [2,3,5,6,8]$,然后位于 $1,4$ 的人被淘汰,队列 $=[2,5,8]$,然后位于 $1$ 的人被淘汰,队列 $=[5,8]$,然后位于 $1$ 的人被淘汰,队列 $=[8]$,只剩下一个人,所以小 Y 一开始应该站在 $8$ 号位置。

【数据范围】

本任务共有 $10$ 个数据。

对于测试点 $1$,$n=k=2$。

对于测试点 $2\sim4$,$n,k\le 10^3$。

对于测试点 $5\sim8$,$k \le 10^6$。

对于全部数据,$2\le n,k\le10^{12}$。