牛客 215E 黄魔法师 题解
Description
给出
Solution
显然如果
构造时会发现肯定要尽量弄成相同的然后进行微调,那么设
这个时候直接选
这时可以把
经枚举
时间复杂度:
Code
#include <bits/stdc++.h> #define int int64_t const int kMaxN = 1e5 + 5; int n, k, m, r; bool check(int x) { int y = sqrtl(x); for (; y * y > x; --y) {} for (; (y + 1) * (y + 1) <= x; ++y) {} return x == y * y; } void dickdreamer() { std::cin >> n >> k; if (k > n * (n - 1) / 2) return void(std::cout << "-1\n"); for (m = 1; m * (m + 1) / 2 <= k; ++m) {} if (n == m) { for (int i = 1; i <= n; ++i) std::cout << "2 "; return; } r = k - m * (m - 1) / 2; for (int i = 1; i <= r; ++i) std::cout << "2 "; for (int i = 1; i <= m - r; ++i) std::cout << "98 "; std::cout << "7 "; for (int i = 1; i <= n - m - 1; ++i) std::cout << "1 "; } int32_t main() { #ifdef ORZXKR freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0); int T = 1; // std::cin >> T; while (T--) dickdreamer(); // std::cerr << 1.0 * clock() / CLOCKS_PER_SEC << "s\n"; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步