0%

P16228 [蓝桥杯 2026 省 A] E. 读取指令

题目大意

P16228 [蓝桥杯 2026 省 A] 读取指令

题目描述

你正在管理一个老旧的线性机械硬盘,该硬盘被划分为 NN 个连续的扇区(编号从 11NN)。

由于文件系统的特殊分配机制,第 ii 个扇区中存储的数据量为 C×iC \times i 字节(其中 CC 是系统簇大小的常数)。例如,当 C=2C = 2 时,第 1144 个扇区的数据量分别为 2,4,6,82, 4, 6, 8 字节。

现在,你需要从这块硬盘中恰好读取 WW 字节的数据来进行恢复。为了最小化磁头的寻道损耗,你只能向硬盘发送“读取指令”。每次指令可以指定一个连续的扇区区间 [l,r][l, r],并读取该区间内的所有数据。

请问,要读取恰好 WW 字节的数据,最少需要发送多少次读取指令?注意:每个扇区最多只能被读取一次。如果无论如何也无法凑出恰好 WW 字节,请输出 1-1

输入格式

第一行包含一个整数 TT,表示测试用例的组数。

接下来 TT 行,每行包含三个整数 N,C,WN, C, W,相邻整数之间用空格隔开。

输出格式

对于每组测试用例,输出一行一个整数,表示最少的读取指令次数。如果无法完成,输出 1-1

输入输出样例 #1

输入 #1

1
2
3
4
3
4 2 10
4 2 16
4 2 7

输出 #1

1
2
3
1
2
-1

说明/提示

【评测用例规模与约定】

对于 30%30\% 的评测用例,1N10001 \le N \le 1000T=2T = 2

对于所有的评测用例,1N1051 \le N \le 10^52T102 \le T \le 101C1001 \le C \le 1000W1090 \le W \le 10^9

思路讲解

PDF

其实在考场上,我通过打表,有点猜出来了这个答案只可能是 -1,0,1,2 ,当然,我肯定也不是那么自信,而且,我也傻了,既然答案只能在这里面取,排除了 1,答案就只可能是 2 了(当然其他特殊情况前面早就搞定了)。

image

image

AC代码

AC
https://www.luogu.com.cn/record/273572038

心路历程(WA,TLE,MLE……)