logo AlgoBeat OnlineJudge
登录 注册

#214148. After All ~綴る想い~

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

「先从我眼前消失的是你吧!?擅自跑到我无法触及的地方去的人是你吧!」

「明明让我难以企及……却还要我一直待在你的身边…想出这种酷刑的人也是你吧…」

「明明是这样,为什么我还非得被你责备不可啊…?」

「像那样…每天、每天,在我的眼前,着我的心!…还说这全都是我的错…太残忍了啊…」

......

「北原和我,就在刚才,终于成为朋友了啊」

「把想说的话,全都说出来了呢。终于变成了,知根知底的关系了呢」

「只是,在成为朋友的瞬间,就绝交了」

「别追哦…这次你不要追我哦?以后,不要再出现在我面前了哦?」

所以,我… 一步、又一步地,拉近与她之间的距离。将冬马,逼得走投无路。被我吸引了注意力的冬马被护栏挡住,再也无法后退。

我终于,用自己的手,抓住了冬马。我抓住她的肩膀,让她正面对着我,发现她那红肿的眼晴,以及湿润的脸颊酝酿出了和平时的冬马完全不一样的感觉。

即使是这样一幅惨状,冬马也依然十分美丽,这份无可动摇的事实已经在我心中根深蒂固了…

那个瞬间…

存在于我心中的女孩,这个世界上仅此一人。


你有一个长为 的环,初始每个位置的值都为 ,编号为 。给定两个长为 的序列 ,你可以进行以下操作若干次:

  • 选择一个点 ,把环上从 开始往后连续长为 的区间加或减去

问是否存在一种操作方案环上每个位置权值恰好等于 ,若存在,请构造一种。你只需要输出每个点加上 的次数减去减掉 的次数。

保证

若你在某个测试点只能判断存在性,也可获得该测试点的部分分数,详见【评分方式】。

输入格式

第一行一个正整数 ,表示测试点数量。对于每组测试数据:

  • 第一行一个正整数 ,表示环长。

  • 第二行 个整数 ,表示目标权值。

  • 第三行 个正整数

输出格式

对于每组测试数据:

  • 第一行输出 YESNO,表示你的判断。

  • 若有解,在第二行输出 个整数表示你的构造,你需要保证所有整数在 之间。

样例

样例输入 1

7
5
0 2 2 6 6
1 2 2 2 2
5
-6 -8 -6 21 -6
1 4 2 4 4
5
-2 10 16 0 0
6 6 1 2 2
5
22 14 -2 14 14
4 4 4 8 1
5
2 6 2 2 2
2 1 1 2 1
5
2 3 7 8 8
2 1 2 1 2
5
-5 1 4 -2 -2
1 4 1 1 1

样例输出 1

YES
-2 0 2 2 -1 
NO
YES
0 2 2 -2 1 
YES
0 -2 -2 1 14 
YES
0 4 0 2 -2 
YES
0 1 3 2 0 
YES
-2 1 1 -2 -1 

数据范围与提示

【数据范围】

本题使用子任务捆绑

对于所有测试数据,

子任务编号 特殊性质 分值
A
B
C
D
  • 特殊性质 A:保证 ,且若有解,一定存在一个解使得每个 加或减的次数不超过

  • 特殊性质 B:保证存在非负整数 使得

  • 特殊性质 C:保证所有 相等。

  • 特殊性质 D:保证

【评分方式】

  • 若正确判断了所有测试数据答案的存在性,可获得该测试点 的分数。注意,若你只能判断存在性,也请在存在的测试数据中的第二行输出 个范围内的整数。

  • 若正确判断了所有测试数据答案的存在性,且对于所有存在答案的测试数据都构造出了一组正确的解,可获得该测试点 的分数。