TopCoder

User's AC Ratio

100.0% (1/1)

Submission's AC Ratio

100.0% (1/1)

Tags

Description

田野裡有一片雜草叢生的地段,長度恰好是 $n$ 格,每格上長著一棵高度介於 $1$ 到 $n$ 的野草,透過他仔細的觀察,他發現一定會有一個雜草長得特別矮,高度只有 $1$。某天,農夫 Willy 發明了一種神奇的除草劑,只要在一段連續格子區間 $[l, r]$ 上噴灑,並選擇強度 $k$($1 \leq k \leq n$),該區間內每棵野草的高度 $A_i$ 就會瞬間變成:

$$
A_i \leftarrow \left\lfloor \frac{A_i}{k} \right\rfloor
$$

其中高斯符號 (floor function) 的定義為:

$$\lfloor x \rfloor = \text{不大於 ( x ) 的最大整數}$$

例如:

  • $\lfloor 2.4 \rfloor = 2$
  • $\lfloor -2.4 \rfloor = -3$
  • $\lfloor 7 \rfloor = 7$
  • $\lfloor \pi \rfloor = 3$

Willy 的目標,是將整塊地段上的所有雜草高度修整至 完全相同。請你幫助他,計算最少需要施放除草劑多少次,以及具體的操作方案。

Input Format

第一行輸入一個正整數 $n$,表示雜草的數量。

第二行輸入 $n$ 個正整數 $a_i$,表示第 $i$ 格雜草的初始高度。

  • $1 \leq n \leq 10^ 5$
  • $1 \leq a_i \leq n$

Output Format

第一行輸出最少施放除草劑的次數 $p$,必須滿足 $0 \leq p \leq n$。

接下來輸出 $p$ 行,每一行包含 $l, r, k$,代表你選擇了強度為 $k$ 的除草劑,並且施放除草劑到 $[l, r]$ 這個區間。$1\leq l \leq r \leq n,1 \leq k \leq n$

Sample Input 1

2
1 2

Sample Output 1

1
2 2 2

Sample Input 2

4
1 4 2 1

Sample Output 2

2
1 4 4
1 4 4

Hints

在第一筆測資中,可以用強度為 $2$ 的除草劑讓第二個雜草變成高度 1。

在第二筆測資中,由於不可能用一次以下操作達成條件,因此分別用一次操作把 $a_2, a_3$ 變成 1。

下面這也是一個正確的輸出:

2
2 3 2
2 2 2

Problem Source

YTP 2025 國中組初賽 p2

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測試資料 0
2 0~52 無額外限制 10

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 1048576 65536 1 2
1 1000 1048576 65536 1 2
2 1000 1048576 65536 2
3 1000 1048576 65536 2
4 1000 1048576 65536 2
5 1000 1048576 65536 2
6 1000 1048576 65536 2
7 1000 1048576 65536 2
8 1000 1048576 65536 2
9 1000 1048576 65536 2
10 1000 1048576 65536 2
11 1000 1048576 65536 2
12 1000 1048576 65536 2
13 1000 1048576 65536 2
14 1000 1048576 65536 2
15 1000 1048576 65536 2
16 1000 1048576 65536 2
17 1000 1048576 65536 2
18 1000 1048576 65536 2
19 1000 1048576 65536 2
20 1000 1048576 65536 2
21 1000 1048576 65536 2
22 1000 1048576 65536 2
23 1000 1048576 65536 2
24 1000 1048576 65536 2
25 1000 1048576 65536 2
26 1000 1048576 65536 2
27 1000 1048576 65536 2
28 1000 1048576 65536 2
29 1000 1048576 65536 2
30 1000 1048576 65536 2
31 1000 1048576 65536 2
32 1000 1048576 65536 2
33 1000 1048576 65536 2
34 1000 1048576 65536 2
35 1000 1048576 65536 2
36 1000 1048576 65536 2
37 1000 1048576 65536 2
38 1000 1048576 65536 2
39 1000 1048576 65536 2
40 1000 1048576 65536 2
41 1000 1048576 65536 2
42 1000 1048576 65536 2
43 1000 1048576 65536 2
44 1000 1048576 65536 2
45 1000 1048576 65536 2
46 1000 1048576 65536 2
47 1000 1048576 65536 2
48 1000 1048576 65536 2
49 1000 1048576 65536 2
50 1000 1048576 65536 2
51 1000 1048576 65536 2
52 1000 1048576 65536 2