点积
时间限制:3s
空间限制:1024MB
题目描述
给定两个长度为 N 的正整数序列 A=(A1,A2,…,AN) 与 B=(B1,B2,…,BN)。
请判断是否存在一个整数序列 X=(X1,X2,…,XN),同时满足:
- 对每个 1≤i≤N,均有 −108≤Xi≤108;
- i=1∑NAiXi>0;
- i=1∑NBiXi<0。
如果存在,请构造任意一个满足条件的序列。你需要处理 T 组测试数据。
输入格式
第一行一个整数 T,表示测试数据组数。
接下来依次给出每组测试数据。每组数据包含三行:
- 第一行一个整数 N;
- 第二行 N 个整数 A1,A2,…,AN;
- 第三行 N 个整数 B1,B2,…,BN。
输出格式
按输入顺序输出每组测试数据的答案。
如果不存在满足条件的序列,输出一行 No。
如果存在,先输出一行 Yes,再输出一行 N 个整数 X1,X2,…,XN。若有多个合法答案,输出任意一个即可。
样例输入 1
3
3
3 1 4
1 5 1
3
4 4 4
7 7 7
4
20 25 6 15
31 41 59 26
样例输出 1
Yes
4 -5 1
No
Yes
45 -10 -40 11
样例说明 1
第一组数据中,取 X=(4,−5,1) 时,两个点积分别为 11 与 −20,满足要求。
数据范围
- 1≤T≤2×105;
- 1≤N≤2×105;
- 1≤Ai,Bi≤105;
- 所有测试数据中 N 的总和不超过 2×105;
- 输入均为整数。
| 子任务编号 |
分值 |
特殊限制 |
| 1 |
12 |
T≤4,且对每组测试数据均有 N≤4、Ai,Bi≤8 |
| 2 |
28 |
T=1,且 N≤5000 |
| 3 |
30 |
对所有测试数据与所有下标 i,均有 Bi=1 |
| 4 |
无特殊限制 |