#include<bits/stdc++.h>
using namespace std;
int rez[1000005];
int krez;
const int INF = 1e9;
/**
n = 4
m = 11
1 1 1 -4 1 1 1 -4 1 2
*/
void solve(int n, int m)
{
if(n==3 && m==4)
{
while(1)
n=1;
return;
}
if(n==m)
{
krez=n-1;
for(int i=1;i<n;i++)
rez[i]=1;
return;
}
if(m%n==0)
{
krez=m-1;
for(int i=1;i<m;i++)
rez[i]=-1;
return;
}
if(n==2)
{
krez=m;
for(int i=1;i<=m;i++)
{
if(i%2==1)
rez[i]=INF/2;
else
rez[i]=-(INF/2+1);
}
return;
}
while(m%n!=n-1)
m++;
krez=m;
int ult=n;
int val=(INF-1)/(n-1);
for(int i=n;i<=m;i+=n)
{
for(int j=i-n+1;j<i;j++)
rez[j]=val;
rez[i]=-(n-1)*val-1;
ult=i;
}
for(int j=ult+1;j<=m;j++)
rez[j]=val;
}
signed main()
{
//ios_base::sync_with_stdio(0);cin.tie(0);
int t;
cin>>t;
while(t--)
{
int n,m;
cin>>n>>m;
bool bl=0;
if(n>m)
{
swap(n,m);
bl=1;
}
solve(n,m);
cout<<krez<<"\n";
for(int i=1;i<=krez;i++)
{
if(!bl)
cout<<rez[i]<<" ";
else
cout<<-rez[i]<<" ";
}
cout<<"\n";
}
return 0;
}
/**
pref[i] - pref[i-n] < 0
pref[i] - pref[i-m] > 0
pref[i-n] > pref[i]
pref[i-m] < pref[i]
n = 4
m = 11
1 1 1 -4 1 1 1 -4 1 1 1 -4 1 1 1
n = 3
m = 8
3 3 -7 3 3 -7 3 3 -7
m - 2 * m/n > 0
n = 2
m = 11
5 -6 5 -6 5 -6 5
499999999
999999999
*/
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Correct |
0 ms |
348 KB |
Ok |
5 |
Correct |
1 ms |
348 KB |
Ok |
6 |
Correct |
0 ms |
348 KB |
Ok |
7 |
Correct |
0 ms |
348 KB |
Ok |
8 |
Correct |
0 ms |
348 KB |
Ok |
9 |
Correct |
0 ms |
348 KB |
Ok |
10 |
Correct |
0 ms |
348 KB |
Ok |
11 |
Correct |
1 ms |
344 KB |
Ok |
12 |
Correct |
0 ms |
344 KB |
Ok |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Correct |
1 ms |
348 KB |
Ok |
5 |
Correct |
0 ms |
348 KB |
Ok |
6 |
Correct |
1 ms |
348 KB |
Ok |
7 |
Correct |
6 ms |
1112 KB |
Ok |
8 |
Correct |
3 ms |
600 KB |
Ok |
9 |
Correct |
6 ms |
1116 KB |
Ok |
10 |
Correct |
4 ms |
604 KB |
Ok |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Execution timed out |
2059 ms |
348 KB |
Time limit exceeded |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2047 ms |
344 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Correct |
0 ms |
348 KB |
Ok |
5 |
Correct |
1 ms |
348 KB |
Ok |
6 |
Correct |
0 ms |
348 KB |
Ok |
7 |
Correct |
0 ms |
348 KB |
Ok |
8 |
Correct |
0 ms |
348 KB |
Ok |
9 |
Correct |
0 ms |
348 KB |
Ok |
10 |
Correct |
0 ms |
348 KB |
Ok |
11 |
Correct |
1 ms |
344 KB |
Ok |
12 |
Correct |
0 ms |
344 KB |
Ok |
13 |
Correct |
0 ms |
348 KB |
Ok |
14 |
Correct |
0 ms |
348 KB |
Ok |
15 |
Correct |
0 ms |
348 KB |
Ok |
16 |
Execution timed out |
2059 ms |
348 KB |
Time limit exceeded |
17 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Correct |
0 ms |
348 KB |
Ok |
5 |
Correct |
1 ms |
348 KB |
Ok |
6 |
Correct |
0 ms |
348 KB |
Ok |
7 |
Correct |
0 ms |
348 KB |
Ok |
8 |
Correct |
0 ms |
348 KB |
Ok |
9 |
Correct |
0 ms |
348 KB |
Ok |
10 |
Correct |
0 ms |
348 KB |
Ok |
11 |
Correct |
1 ms |
344 KB |
Ok |
12 |
Correct |
0 ms |
344 KB |
Ok |
13 |
Correct |
0 ms |
348 KB |
Ok |
14 |
Correct |
0 ms |
348 KB |
Ok |
15 |
Correct |
0 ms |
348 KB |
Ok |
16 |
Correct |
1 ms |
348 KB |
Ok |
17 |
Correct |
0 ms |
348 KB |
Ok |
18 |
Correct |
1 ms |
348 KB |
Ok |
19 |
Correct |
6 ms |
1112 KB |
Ok |
20 |
Correct |
3 ms |
600 KB |
Ok |
21 |
Correct |
6 ms |
1116 KB |
Ok |
22 |
Correct |
4 ms |
604 KB |
Ok |
23 |
Correct |
0 ms |
348 KB |
Ok |
24 |
Correct |
0 ms |
348 KB |
Ok |
25 |
Correct |
0 ms |
348 KB |
Ok |
26 |
Execution timed out |
2059 ms |
348 KB |
Time limit exceeded |
27 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Ok |
2 |
Correct |
0 ms |
348 KB |
Ok |
3 |
Correct |
0 ms |
348 KB |
Ok |
4 |
Correct |
0 ms |
348 KB |
Ok |
5 |
Correct |
1 ms |
348 KB |
Ok |
6 |
Correct |
0 ms |
348 KB |
Ok |
7 |
Correct |
0 ms |
348 KB |
Ok |
8 |
Correct |
0 ms |
348 KB |
Ok |
9 |
Correct |
0 ms |
348 KB |
Ok |
10 |
Correct |
0 ms |
348 KB |
Ok |
11 |
Correct |
1 ms |
344 KB |
Ok |
12 |
Correct |
0 ms |
344 KB |
Ok |
13 |
Correct |
0 ms |
348 KB |
Ok |
14 |
Correct |
0 ms |
348 KB |
Ok |
15 |
Correct |
0 ms |
348 KB |
Ok |
16 |
Correct |
1 ms |
348 KB |
Ok |
17 |
Correct |
0 ms |
348 KB |
Ok |
18 |
Correct |
1 ms |
348 KB |
Ok |
19 |
Correct |
6 ms |
1112 KB |
Ok |
20 |
Correct |
3 ms |
600 KB |
Ok |
21 |
Correct |
6 ms |
1116 KB |
Ok |
22 |
Correct |
4 ms |
604 KB |
Ok |
23 |
Correct |
0 ms |
348 KB |
Ok |
24 |
Correct |
0 ms |
348 KB |
Ok |
25 |
Correct |
0 ms |
348 KB |
Ok |
26 |
Execution timed out |
2059 ms |
348 KB |
Time limit exceeded |
27 |
Halted |
0 ms |
0 KB |
- |