作业介绍

周日第一次测试题

A、Glass and Mug

题目链接

题目描述

AtCoder 社销售玻璃杯马克杯

高桥君各有一个容量为 GG 毫升的玻璃杯和一个容量为 MM 毫升的马克杯。
这里,G,MG, M 满足 G<MG < M

最初,玻璃杯和马克杯都是空的。
请你求出经过 KK 次如下操作后,玻璃杯和马克杯中分别有多少毫升的水。

  • 如果玻璃杯已装满水,即玻璃杯中正好有 GG 毫升,则将玻璃杯中的水全部倒掉。
  • 否则,如果马克杯是空的,则将马克杯装满水。
  • 如果以上两种情况都不满足,则从马克杯向玻璃杯倒水,直到马克杯为空或玻璃杯装满为止。

输入格式

输入从标准输入中给出,格式如下:

KK GG MM

输出格式

请输出经过 KK 次操作后,玻璃杯和马克杯中分别有多少毫升的水,用空格分隔,按此顺序输出。

输入输出样例 #1

输入 #1

5 300 500

输出 #1

200 500

输入输出样例 #2

输入 #2

5 100 200

输出 #2

0 0

说明/提示

限制条件

  • 1K1001 \leq K \leq 100
  • 1G<M10001 \leq G < M \leq 1000
  • G,M,KG, M, K 均为整数

样例解释 1

操作按如下顺序进行。最初,玻璃杯和马克杯都是空的。

  • 将马克杯装满水。此时玻璃杯有 00 毫升,马克杯有 500500 毫升。
  • 从马克杯向玻璃杯倒水,直到玻璃杯装满。此时玻璃杯有 300300 毫升,马克杯有 200200 毫升。
  • 将玻璃杯中的水全部倒掉。此时玻璃杯有 00 毫升,马克杯有 200200 毫升。
  • 从马克杯向玻璃杯倒水,直到马克杯为空。此时玻璃杯有 200200 毫升,马克杯有 00 毫升。
  • 将马克杯装满水。此时玻璃杯有 200200 毫升,马克杯有 500500 毫升。 因此,经过 55 次操作后,玻璃杯有 200200 毫升,马克杯有 500500 毫升。 所以输出 200 500200\ 500
B、 Typing

题目链接

题目描述

高桥君打算在键盘上输入一个由小写英文字母组成的字符串 SS

高桥君在打字时只看着键盘,没有看屏幕。

每当他误输入了另一个小写英文字母时,他会立刻按下退格键,但由于退格键坏了,误输入的字符并没有被删除,实际输入的字符串变成了 TT

此外,他不会误按除小写英文字母以外的其他键。

我们将 TT 中不是高桥君误输入的字符称为正确输入的字符

请回答这些正确输入的字符分别是 TT 的第几个字符。

输入格式

输入以以下格式从标准输入读入。

SS TT

输出格式

SS 的长度为 S|S|,若正确输入的字符分别是 TT 的第 A1, A2, , ASA_1,\ A_2,\ \ldots,\ A_{|S|} 个字符,请按顺序输出 A1, A2, , ASA_1,\ A_2,\ \ldots,\ A_{|S|},用空格分隔。

输出要求升序,即对于每个 1iS11 \leq i \leq |S|-1,都有 Ai<Ai+1A_i < A_{i+1}

输入输出样例 #1

输入 #1

abc
axbxyc

输出 #1

1 3 6

输入输出样例 #2

输入 #2

aaaa
bbbbaaaa

输出 #2

5 6 7 8

输入输出样例 #3

输入 #3

atcoder
atcoder

输出 #3

1 2 3 4 5 6 7

说明/提示

限制条件

  • S, TS,\ T 均为长度在 112×1052 \times 10^5 之间的仅由小写英文字母组成的字符串。
  • TT 是按照题目描述的过程得到的字符串。

样例解释 1

高桥君的打字过程如下:

  • 输入 a
  • 想输入 b,但误输入了 x
  • 按下退格键,但字符未被删除。
  • 输入 b
  • 想输入 c,但误输入了 x
  • 按下退格键,但字符未被删除。
  • 想输入 c,但误输入了 y
  • 按下退格键,但字符未被删除。
  • 输入 c

正确输入的字符是第 1, 3, 61,\ 3,\ 6 个字符。

样例解释 3

高桥君没有误输入任何字符。

C、 Find Multiple

题目链接

题目描述

请输出一个在 AA 以上 BB 以下的 CC 的倍数。

如果不存在满足条件的数,则输出 1-1

输入格式

输入以以下格式从标准输入给出。

AA BB CC

输出格式

请输出答案。
如果不存在满足条件的数,则输出 1-1

输入输出样例 #1

输入 #1

123 456 100

输出 #1

200

输入输出样例 #2

输入 #2

630 940 314

输出 #2

-1

说明/提示

限制条件

  • 1AB10001 \leq A \leq B \leq 1000
  • 1C10001 \leq C \leq 1000
  • 输入均为整数

样例说明 1

300400 也是正确答案。

D、# Fair Candy Distribution

题目链接

题目描述

高桥王国有 NN 名国民。每位国民都有一个国民编号,第 ii 位国民的编号为 aia_i。这里,aia_i 互不相同。

高桥君手上有 KK 个糖果。他决定按照以下规则分发糖果,直到糖果分完为止:

  • 如果手上的糖果数量不少于 NN,则每人分发 11 个糖果。
  • 否则,设此时高桥君手上的糖果数量为 KK',则从国民编号最小的 KK' 个人中,每人分发 11 个糖果。更严格地说,从 aia_i 值较小的 KK' 个人中选出,每人分发 11 个糖果。

请问,当所有糖果分发完毕后,第 ii 位国民最终获得了多少个糖果?

输入格式

输入以如下格式从标准输入读入。

NN KK a1a_1 a2a_2 \ldots aNa_N

输出格式

输出 NN 行。第 ii 行输出第 ii 位国民获得的糖果数量。

输入输出样例 #1

输入 #1

2 7
1 8

输出 #1

4
3

输入输出样例 #2

输入 #2

1 3
33

输出 #2

3

输入输出样例 #3

输入 #3

7 1000000000000
99 8 2 4 43 5 3

输出 #3

142857142857
142857142857
142857142858
142857142857
142857142857
142857142857
142857142857

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K10181 \leq K \leq 10^{18}
  • 1ai1091 \leq a_i \leq 10^9
  • aia_i 互不相同。
  • 输入均为整数。

样例解释 1

高桥君按照如下步骤分发糖果:

  • 每人分发 11 个糖果后,手上剩余 55 个糖果。
  • 每人再分发 11 个糖果后,手上剩余 33 个糖果。
  • 每人再分发 11 个糖果后,手上剩余 11 个糖果。
  • 给编号最小的第 11 位国民分发 11 个糖果后,糖果分完。 最终,第 11 位国民获得 44 个糖果,第 22 位国民获得 33 个糖果。

样例解释 2

由于只有 11 位国民,高桥君会把所有糖果都分给第 11 位国民。

附加题: Perfect Standings

题目链接

AT_abc384_c [ABC384C]

题目描述

高桥君决定举办一场编程竞赛。

竞赛包含 55 道题目,分别为 A 问题、B 问题、C 问题、D 问题、E 问题,每道题目的分值分别为 aa 分、bb 分、cc 分、dd 分、ee 分。

本次竞赛共有 3131 名参赛者,且每位参赛者都至少解答了一道题目。

更具体地说,对于字符串 ABCDE 的所有非空(不一定连续)子序列,均存在一位以该子序列为名字的参赛者,该参赛者仅解答名字中包含的题目,其余题目未解答。

例如,A 选手只解答了 A 问题,BCE 选手解答了 B 问题、C 问题和 E 问题。

请按参赛者获得的总分从高到低输出他们的名字。如果有多位参赛者获得相同的分数,则按名字的字典序从小到大输出。

字典序较小的定义如下:字典序即单词在字典中出现的顺序。

更严格地说,对于由大写英文字母组成的不同字符串 S,TS,TSS 的字典序小于 TT 当且仅当,满足以下两个条件之一:

  • SS 的长度 S|S| 小于 TT 的长度,且 TT 的前 S|S| 个字符与 SS 完全一致;
  • 存在整数 1imin{S,T}1\leq i\leq \min\lbrace|S|,|T|\rbrace,使得以下两个条件同时成立:
    • 对于所有 1j<i1\leq j<iSS 的第 jj 个字符等于 TT 的第 jj 个字符;
    • SS 的第 ii 个字符在字母表中小于 TT 的第 ii 个字符。

例如,S=S= ABT=T= ABC,满足第一个条件,因此 SS 的字典序小于 TT。又如,S=S= ABDT=T= ACD,在 i=2i=2 时满足第二个条件,因此 SS 的字典序小于 TT

输入格式

输入包含一行,包含 aabbccddee 五个整数。

输出格式

请输出 3131 行,第 ii 行(1i311\leq i\leq 31)输出第 ii 高分的参赛者的名字。如果有多位参赛者获得相同分数,则按名字字典序从小到大输出。

输入输出样例 #1

输入 #1

400 500 600 700 800

输出 #1

ABCDE
BCDE
ACDE
ABDE
ABCE
ABCD
CDE
BDE
ADE
BCE
ACE
BCD
ABE
ACD
ABD
ABC
DE
CE
BE
CD
AE
BD
AD
BC
AC
AB
E
D
C
B
A

输入输出样例 #2

输入 #2

800 800 900 900 1000

输出 #2

ABCDE
ACDE
BCDE
ABCE
ABDE
ABCD
CDE
ACE
ADE
BCE
BDE
ABE
ACD
BCD
ABC
ABD
CE
DE
AE
BE
CD
AC
AD
BC
BD
AB
E
C
D
A
B

输入输出样例 #3

输入 #3

128 256 512 1024 2048

输出 #3

ABCDE
BCDE
ACDE
CDE
ABDE
BDE
ADE
DE
ABCE
BCE
ACE
CE
ABE
BE
AE
E
ABCD
BCD
ACD
CD
ABD
BD
AD
D
ABC
BC
AC
C
AB
B
A

说明/提示

数据范围

  • 100abcde2718100\leq a\leq b\leq c\leq d\leq e\leq 2718
  • 输入均为整数

样例解释 1

每位参赛者的得分如下所示。

例如,ADE 选手和 BCE 选手获得了相同的分数,但由于 ADE 的名字字典序更小,请先输出 ADE。

由 ChatGPT 4.1 翻译

状态
已结束
题目
7
开始时间
2025-9-7 0:00
截止时间
2025-9-15 23:59
可延期
24 小时