#D. 才是而以

    Type: Default File IO: odoo 5000ms 1024MiB

才是而以

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

你的生日是 772121 日,刚好是 Inaba Meguru\color{SkyBlue}\text{Inaba Meguru} 后一天。绫地同学给你送来了一个好玩的游戏机(迫真。

题目描述

这个游戏机是这样的,上面有 nn 个非负整数排成一圈,数字的范围为 [0,m1][0,m-1]。每次你可以同时把连续的 kk 个数同时上拨或下拨。

  • 一个数原来为 xx。上拨会变成 (x+1)modm(x+1)\bmod m
  • 一个数原来为 xx。下拨会变成 (x+m1)modm(x+m-1)\bmod m

给定一个现有的状态,你想要把所有数归 00 至少需要多少步?或者报告不可能。

输入格式

本题单点有多组测试数据。

第一行一个正整数 TT 表示测试组数。

对于每组数据,第一行三个正整数表示 n,m,kn,m,k。第二行长度为 nn 的数组 aia_i 表示这个玩具的初始状态。

输出格式

每组数据,如果可以输出最小操作数,否则输出 1-1

测试样例

样例输入 样例输出
35 9 38 1 4 5 04 4 21 0 0 05 5 21 0 0 0 0 7-110
见下发 odoo/odoo2.in\textit{odoo/odoo2.in} 见下发 odoo/odoo2.ans\textit{odoo/odoo2.ans}
见下发 odoo/odoo3.in\textit{odoo/odoo3.in} 见下发 odoo/odoo3.ans\textit{odoo/odoo3.ans}
见下发 odoo/odoo4.in\textit{odoo/odoo4.in} 见下发 odoo/odoo4.ans\textit{odoo/odoo4.ans}
见下发 odoo/odoo5.in\textit{odoo/odoo5.in} 见下发 odoo/odoo5.ans\textit{odoo/odoo5.ans}

样例 11 解释

对于样例组 1,一种可能的操作如下:

  • [8,1,4,5,0][8,1,4,5,0](初始状态);
  • [8,7,1,2,0][8,7,1,2,0](下拨三步);
  • [7,7,1,1,8][7,7,1,1,8](下拨一步);
  • [7,7,0,0,7][7,7,0,0,7](下拨一步);
  • [0,0,0,0,0][0,0,0,0,0](上拨两步)。

总共 3+1+1+2=73+1+1+2=7 步。

样例 2,3,4,52,3,4,5 解释

这些样例依次满足测试点 1,3,7,91,3,7,9 的性质。

数据范围

样例编号 nn\leq n\sum n\leq mm\leq m\sum m\leq nm\sum nm\leq 特殊性质
11 55 100100 55 100100 500500
22 1010 1010 10001000
33 2020 22 1010 200200
44 1010 10510^5 10610^6 10710^7
55 10610^6 10710^7 10610^6 10710^7 10810^8 k=2k=2
66 22
77 1010
88 1010 10610^6
99 10510^5 10610^6 10510^5 10610^6 10710^7 aia_i 随机生成
1010 10610^6 10710^7 10610^6 10710^7 10810^8

对于所有数据:k<nk<nn,m106n,m\leq 10^6n,m107\sum n,\sum m\leq 10^7nm108\sum nm\leq 10^8

NOIP 模拟赛(三)

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2023-10-30 8:00
End at
2023-10-30 12:00
Duration
4 hour(s)
Host
Partic.
15