This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define sz(x) ((int)x.size())
#define PB push_back
using namespace std;
const int N = 200100;
const int PW = 20;
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
int qq; cin >> qq;
for (; qq; qq--){
int n, m;
cin >> n >> m;
// assert((max(n, m) % min(n, m)) == 0);
if (n == m){
cout << n - 1 << '\n';
for (int i = 1; i < n; i++)
cout << "1 ";
cout << '\n';
continue;
}
if (max(n, m) % min(n, m) == 0){
if (n > m){
cout << n - 1 << '\n';
for (int i = 0; i < n - 1; i++)
if (i % m == 0)
cout << +int(1e8) << " " ;
else cout << "-1 ";
cout << '\n';
} else {
cout << m - 1 << '\n';
for (int i = 0; i < m - 1; i++)
if (i % n == 0)
cout << -int(1e8) << " " ;
else cout << "1 ";
cout << '\n';
}
continue;
}
if (min(n, m) * 2 - 1 <= max(n, m)) {
if (n > m){
cout << n << '\n';
for (int i = 0; i < n; i++)
if (i % m == (m - 1))
cout << int(1e9) << " ";
else cout << -int(1e9) + 1 << " ";
cout << '\n';
} else {
cout << m << '\n';
for (int i = 0; i < m; i++)
if (i % n == (n - 1))
cout << -int(1e9) << " ";
else cout << +int(1e9) - 1 << " ";
cout << '\n';
}
continue;
}
if (n > m){
cout << m + m - 1 << '\n';
int x = 0, y = 0;
for (;; y++){
if (y % (m - 1) == 0) continue;
x = y / (m - 1);
if (x * (n - 1) > y)
break;
}
for (int i = 1; i < m; i++)
cout << -x << " ";
cout << y;
for (int i = 1; i < m; i++)
cout << " " << -x;
cout << '\n';
} else {
swap(n, m);
cout << m + m - 1 << '\n';
int x = 0, y = 0;
for (;; y++){
if (y % (m - 1) == 0) continue;
x = y / (m - 1);
if (x * (n - 1) > y)
break;
}
for (int i = 1; i < m; i++)
cout << x << " ";
cout << -y;
for (int i = 1; i < m; i++)
cout << " " << x;
cout << '\n';
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |