算法
(数学、构造) $O(n)$
可以先固定前 $a - 1$ 项和前 $b - 1$ 项
不妨设前 $a - 1$ 项分别为 $1, 2, \dots, a - 1$,前 $b - 1$ 项分别为 $1, 2, \dots, b - 1$,
再令 $x$ 为上面所有元素之和,最后的一个正整数可以为 $10^8$,最后的一个负整数可以为 $-x-10^8$
C++ 代码
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
#define pb push_back
#define eb emplace_back
const int INF = 100100100;
using std::cin;
using std::cout;
using std::vector;
using ll = long long;
template<typename T> using vc = vector<T>;
template<typename T>ll suma(const vc<T>&a){ll res(0); for (auto&& x : a) res += x; return res;}
int main() {
int a, b;
cin >> a >> b;
vector<int> ans;
rep(i, a - 1) ans.pb(i + 1);
rep(i, b - 1) ans.pb(-i - 1);
int x = suma(ans);
ans.pb(INF);
ans.pb(-x - INF);
for (auto x : ans) cout << x << " ";
return 0;
}