# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
495813 | Ziel | Nice sequence (IZhO18_sequence) | C++17 | 11 ms | 844 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/**
* LES GREATEABLES BRO TEAM
**/
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define sz(x) (int)x.size()
const bool FLAG = true;
void setIO(const string &f = "");
void solve() {
int n, m;
cin >> n >> m;
if (n == m) {
cout << n - 1 << '\n';
for (int i = 0; i < n - 1; i++)
cout << "1 ";
} else if (n < m) {
if (n == 1) {
cout << m - 1 << '\n';
for (int i = 1; i < m; i++)
cout << "-1 ";
} else if (n == 2) {
cout << m - 1 + (m % 2) << '\n';
int x = (m - 1) / 2 + 1;
for (int i = 1; i <= m - 1 + (m % 2); i++) {
if (i % 2 == 0)
cout << -(x + 1) << ' ';
else
cout << x << ' ';
}
} else if (m % n == 0) {
cout << m - 1 << '\n';
int x = m / n - 1;
for (int i = 1; i < m; i++) {
if (i % n == 0)
cout << -(x * (n - 1) + 1) << ' ';
else
cout << x << ' ';
}
} else {
m = (m + n - 1) / n * n - 1;
if (m == 8) {
assert(n == 3);
}
cout << m << '\n';
int x = (m + 1) / n - 1;
for (int i = 1; i <= m; i++) {
if (i % n == 0)
cout << -(x * (n - 1) + 1) << ' ';
else
cout << x << ' ';
}
}
} else {
swap(n, m);
if (n == 1) {
cout << m - 1 << '\n';
for (int i = 1; i < m; i++)
cout << "1 ";
} else if (n == 2) {
cout << m - 1 + (m % 2) << '\n';
int x = (m - 1) / 2 + 1;
for (int i = 1; i <= m - 1 + (m % 2); i++) {
if (i % 2 == 0)
cout << (x + 1) << ' ';
else
cout << -x << ' ';
}
} else if (m % n == 0) {
cout << m - 1 << '\n';
int x = m / n - 1;
for (int i = 1; i < m; i++) {
if (i % n == 0)
cout << (x * (n - 1) + 1) << ' ';
else
cout << -x << ' ';
}
} else {
m = (m + n - 1) / n * n - 1;
cout << m << '\n';
int x = (m + 1) / n - 1;
for (int i = 1; i <= m; i++) {
if (i % n == 0)
cout << (x * (n - 1) + 1) << ' ';
else
cout << -x << ' ';
}
}
}
cout << '\n';
}
signed main() {
setIO();
int tt = 1;
if (FLAG) {
cin >> tt;
}
while (tt--) {
solve();
}
return 0;
}
void setIO(const string &f) {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
if (fopen((f + ".in").c_str(), "r")) {
freopen((f + ".in").c_str(), "r", stdin);
freopen((f + ".out").c_str(), "w", stdout);
}
}
Compilation message (stderr)
# | 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... |