第 006 场 AtCoder Regular Contest
C
堆叠
積み重ね
AtCoder
⌀ 1042
原题
← BD →

堆叠AI (CI翻译)

1

1AI (CI翻译)

image 図:下にあるダンボールは上にあるダンボール以上の重さでなければならない

image 图:下面的纸箱重量必须不小于上面的纸箱AI (CI翻译)

N
w_1
w_2
:
:
w_N

N
w_1
w_2
:
:
w_N
AI (CI翻译)

  • 入力は $N+1$ 行ある。
  • $1$ 行目には、ダンボールの個数を表す整数 $N(1≦N≦50)$ が与えられる。
  • $2$ 行目からの $N$ 行には、$i+1(1≦i≦N)$ 行目に $i$ 番目に運ぶダンボールの重さを表す整数 $w_i(1≦w_i≦100,000)$ が与えられる。
  • 输入共有 $N+1$ 行。
  • 第 $1$ 行给出一个整数 $N(1≦N≦50)$,表示纸箱的数量。
  • 从第 $2$ 行开始的 $N$ 行中,第 $i+1(1≦i≦N)$ 行给出一个整数 $w_i(1≦w_i≦100,000)$,表示第 $i$ 个要搬运的纸箱的重量。
AI (CI翻译)

1

1AI (CI翻译)

5
4
3
1
2
1

5
4
3
1
2
1
AI (CI翻译)

2

2
AI (CI翻译)

  • 下図の例の順に積み重ねると、$2$ つのダンボールの山ができる。
  • $3$ 番目のダンボールの次に重さ $2$ のダンボールをその上に重ねることはできないので $1$ つの山にすることはできず、最小は $2$ となる。
  • 按照下图所示的顺序堆叠后,会形成 2 个纸箱堆。
  • 由于无法在第 3 个纸箱之后将重量为 $2$ 的纸箱堆放在其上面,因此无法组成 1 个纸箱堆,最少需要 2 个纸箱堆。
AI (CI翻译)

image

imageAI (CI翻译)

7
93
249
150
958
442
391
25

7
93
249
150
958
442
391
25
AI (CI翻译)

3

3
AI (CI翻译)

  • 下図の形に積み重ねると、山の数は $3$ となる。
  • 按照下图所示的形状堆叠后,纸箱堆的数量为 3。
AI (CI翻译)

image

imageAI (CI翻译)

4
100
100
100
100

4
100
100
100
100
AI (CI翻译)

1

1
AI (CI翻译)

  • 同じ重さのダンボールは積み重ねられるので、$1$ つの山にすることができる。
  • 重量相同的纸箱可以堆叠,因此可以组成 1 个纸箱堆。
AI (CI翻译)

6
5
10
15
20
25
30

6
5
10
15
20
25
30
AI (CI翻译)

6

6
AI (CI翻译)

  • どのダンボールも前に運んだダンボールの上に重ねられないので、$1$ つも積み重ねることができない。
  • したがって、$6$ つの山が最小となる。
  • 任意纸箱都无法堆叠到之前搬运的纸箱上,因此一个也无法堆叠。
  • 因此,6 个纸箱堆是最少的。
AI (CI翻译)

15
3
1
4
1
5
9
2
6
5
3
5
8
9
7
9

15
3
1
4
1
5
9
2
6
5
3
5
8
9
7
9
AI (CI翻译)

6

6
AI (CI翻译)

  • 下図のように積み重ねると最小となる。
  • 按照下图所示的方式堆叠后,纸箱堆的数量最少。
AI (CI翻译)

image

imageAI (CI翻译)

题目信息
题号
arc006_3
时间限制
2 s
内存限制
64 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(gpt-6.1-sol),如有出入请以原文为准。