QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#506. 禮物

Statistics

Alan 生日嗰陣收到 Bekzhan 送嘅一份特別禮物。份禮物畀一把數學鎖鎖住咗。

把鎖有 $N$ 個數,位置由 $1$ 編號到 $N$。最初所有數都等於零。每次操作,Alan 可以揀一個整數 $X$($1\le X$)同鎖上 $K$ 個唔同位置 $1\le i_1,i_2,\ldots,i_K\le N$,然後將位置 $i_1,i_2,\ldots,i_K$ 上嘅數全部加上 $X$。Bekzhan 仲話咗畀佢知開鎖所需嘅數列 $A_1,A_2,\ldots,A_N$。數嘅次序係重要嘅。

Alan 搞唔掂呢個問題。請幫佢開鎖,或者判斷冇解。

留意,你唔使將操作次數減到最少。不過,Alan 唔想揀嘅位置總數超過 $3000000$($3\cdot10^6$)個。即係話,如果 $M$ 係方案嘅操作次數,而且 $M\cdot K\le3\cdot10^6$,個方案就會被視為正確,否則就唔正確。

輸入格式

輸入第一行有兩個正整數 $N$ 同 $K$($2\le K\le N\le10^6$,$N\cdot K\le2\cdot10^6$),分別係鎖上數列嘅長度,同每次操作可以揀嘅位置數目。輸入第二行有 $N$ 個正整數 $A_1,A_2,\ldots,A_N$(對所有 $1\le i\le N$,$1\le A_i$,而且 $\sum_{i=1}^{N}A_i\le10^{18}$),相鄰兩個數用一個空格分隔,表示開鎖所需嘅數列。

輸出格式

如果冇解,輸出 -1(唔包括引號)。否則,第一行輸出操作次數 $M$。之後 $M$ 行嘅第 $j$ 行,先輸出 $X_j$,再輸出 $K$ 個唔同嘅數 $i_{j,1},i_{j,2},\ldots,i_{j,K}$,分別表示第 $j$ 次操作加上嘅數值,同埋要加上呢個數值嘅位置。

子任務

呢題有五個子任務,每個子任務嘅測試都符合題面嘅限制:

  1. $\sum_{i=1}^{N}A_i\le10$,$K=2$。佔 7 分。
  2. $\sum_{i=1}^{N}A_i\le10^5$,$K=2$。佔 11 分。
  3. $\sum_{i=1}^{N}A_i\le10^5$。佔 12 分。
  4. $A_1=A_2=\cdots=A_N$。佔 19 分。
  5. 限制同題面所述一樣。佔 51 分。

樣例

輸入格式 1

4 2
2 3 3 2

輸出格式 1

3
2 3 1
1 3 2
2 2 4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.