链接:https://www.nowcoder.com/acm/contest/215/E
来源:牛客网

题目描述

“恕瑞玛,你的皇帝回来啦!”--黄魔法师

给出 n, k,求一个长度为 n 的数组 a, 满足有恰好 k 对数对 (i, j) (1 <= i < j <= n) 满足 ai + aj 为完全平方数。如果不存在,输出 -1。

输入描述:

第一行两个整数 n, k (1 <= n <= 105, 0 <= k <= 1010)

输出描述:

如果这样的数组不存在,输出 -1。
反之,输出一行 n 个整数,表示 a 数组,其中 1 <= ai <= 105。如果有多解,输出任意一个即可。

输入

3 2

输出

1 3 6

分三种情况考虑:

①n*(n-1)/2<k:很显然无解,就算任意一对数加起来都是完全平方数也不够,输出-1(否则一定有解

②n*(n-1)/2==k:全部输出2即可,这个时候每一对ai+aj都是4,满足条件(前两种情况非常简单)

③n*(n-1)/2>k:步骤如下:

  • 找到一个最大的p满足p*(p-1)/2≤k,设last = k-p*(p-1)/2
  • 找到4个数x, y, c, d满足只有2*x,2*y,x+y,c+y是完全平方数(x = 98, y = 2, c = 7, d = 100000就是一组合法解)
  • 只要输出last个y,p-last个x,1个c,剩下全部输出d即可,一定满足条件
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<string>
#include<math.h>
#include<queue>
#include<stack>
#include<iostream>
using namespace std;
#define LL long long
#define mod 1000000007
int main(void)
{LL n, k, i, x, p;scanf("%lld%lld", &n, &k);if(n*(n-1)/2==k){for(i=1;i<=n;i++)printf("2 ");puts("");}else if(n*(n-1)/2<k)printf("-1\n");else{for(p=1;(p+1)*p/2<=k;p++);x = k-p*(p-1)/2;for(i=1;i<=x;i++)printf("2 ");for(i=1;i<=p-x;i++)printf("98 ");printf("7 ");for(i=1;i<=n-p-1;i++)printf("100000 ");puts("");}return 0;
}

Wannafly挑战赛27: E. 黄魔法师(构造)相关推荐

  1. Wannafly 挑战赛27 题解

    Wannafly 挑战赛27 题目连接 https://www.nowcoder.com/acm/contest/215#question A.灰魔法师 题目 题解 考虑到可能的完全平方数只有4004 ...

  2. Wannafly挑战赛27 C蓝魔法师

    链接Wannafly挑战赛27 C蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于等于\(k\),\(n,k\leq 2*10^3\) 假设我们正在考虑\(i\)这个子树,那么 ...

  3. NowCoder Wannafly 27E 黄魔法师 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly27E.html 题目传送门 - NowCoder Wannafly 27E 题 ...

  4. 牛客网 Wannafly挑战赛27 蓝魔法师

    蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...

  5. 牛客网比赛-Wannafly挑战赛27

    无关前置 最近同学都在打牛客网的比赛并且博主也在写一下牛客网的题,博主就去看了看,打了一场,题目质量还是非常不错的.我才不会告诉你我没开long long错了好久QWQ 212A-灰魔法师 题意简述 ...

  6. Wannafly挑战赛27

    A.灰魔法师 题目描述 "White shores, and beyond. A far green country under a swift sunrise."--灰魔法师 给 ...

  7. Wannafly挑战赛27: C. 蓝魔法师(树形DP)

    链接:https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔法师 给出一 ...

  8. Wannafly挑战赛27: D. 绿魔法师(莫比乌斯函数)

    链接:https://www.nowcoder.com/acm/contest/215/D 来源:牛客网 题目描述 "我不知道你在说什么,因为我只是个pupil."--绿魔法师 一 ...

  9. Wannafly挑战赛27 C 蓝魔法师(树上dp)

    链接:https://ac.nowcoder.com/acm/contest/215/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

最新文章

  1. RDKit | 基于RDKit去除片段(盐或络合物等)
  2. python的assert(断言)异常步骤机制
  3. 漫画:通俗易懂的进程与线程解释
  4. 取消搜索状态_百度搜索引擎全网推广通常有哪些账户?
  5. 从单机到2000万QPS: 知乎Redis平台发展与演进之路
  6. pythonisnan_python - 在NumPy中快速检查NaN
  7. 数据分析没有思路怎么办
  8. IGH_Master主站配置驱动伺服电机和变频器总结
  9. 计算机键盘复制键是哪个,键盘按什么键复制粘贴_键盘上复制粘贴快捷键是哪个键-win7之家...
  10. DNA测序技术的发展史之——第二代测序技术
  11. FusionSphere虚拟化套件
  12. Ext2explore查看ext2/ext3/ext4 file
  13. 固态硬盘先装系统还是4k对齐?
  14. Android定位元素与操作
  15. Windows10编译MySQL8.0.28源码
  16. 利用搜索引擎来搜索特定网站中的关键词
  17. 笔记本网络里没有计算机图标,Windows 7没有本地连接图标如何解决?
  18. 【数据可视化 第一周】解构数据可视化
  19. Vim查找替换操作 --- 查找和替换
  20. CS231n-2022 Module1: 神经网络3:Learning and Evaluation

热门文章

  1. python代码大全-python贪吃蛇游戏代码
  2. python与java区别-python(一):python与java语法的异同之处
  3. python必背入门代码-初学Python必背手册
  4. 2020年PHP面试题大全
  5. android alphaanimation xml,android AlphaAnimation动画代码实现与XML实现
  6. java 字符串 float_Java 字符串转float运算 float转字符串
  7. 手机怎么打开f12_碰到生僻字看不懂怎么办?打开手机这个开关,一键即可秒懂...
  8. 使用 Shell 脚本实现安装进度指示器
  9. filazilla搭建ftp_使用Filezilla搭建FTP服务器
  10. Git 更改远程地址