#include #include #include int main() { std::vector a(10001); std::vector forbidden(1, -1); for (int n = 0; n -n; m-=2) { int f = a[abs(m)]; if (a[abs((m+n)/2)] == f) { while (f >= forbidden.size()) { forbidden.resize(2 * forbidden.size(), -1); } forbidden[f] = n; } } while (a[n] < forbidden.size() && forbidden[a[n]]==n) { a[n]++; } std::cout << n << ' ' << a[n] << std::endl; } return 0; }