题面

巧妙构造题

这种题一定要限制一个条件,使得在这个条件下能推出要叉的代码的式子

令序列$a$的第一个元素为负,其余元素为正,且保证序列中至少有两个元素,那么Alice的代码将会从第二个元素开始计算,得到$(n-1)*(sum-a[1])$的答案。而这里答案实际可能有两种,Alice那样的$(n-1)*(sum-a[1])$和全部选取的$n*sum$(因为后面全是正的所以其他方案一定劣于这两种)。我们后者-前者作个差得到$sum-n-a[1]$,不妨令$a[1]=-1$,那么只需要构造一个长度为$n$而总和为$k+n-1$的序列即可

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,Maxx=1e6;
int k,s,p,a[N];
int main()
{
scanf("%d",&k);
a[p=]=-,s=-;
while(p!=)
{
a[++p]=Maxx,s+=a[p];
if(s-p+>k) {s-=a[p],a[p]-=s+a[p]-p+-k; break;}
}
s=;
for(int i=;i<=p;i++) s+=a[i];
if(s!=k+p-) printf("-1");
else
{
printf("%d\n",p);
for(int i=;i<=p;i++)
printf("%d ",a[i]);
}
return ;
}

最新文章

  1. P2有什么用
  2. $.grep(array, callback, [invert])过滤,常用
  3. 各种边缘检测算子特点比较(canny)
  4. xvfb启动PyQt4程序报Unable to load library icui18n错误
  5. Java、JVM和操作系统之间的关系,写给新人,
  6. C语言运算符优先级表
  7. MySQL 跳过同步错误方法
  8. linux xampp eclipse xdebug 无法进入断点
  9. SQL Server死锁的分析、处理与预防
  10. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
  11. ImageMagick图片服务器
  12. 【linux】mysql安装问题 g++: not found
  13. 全排列递归算法(元素有重复与无重复,C++实现)
  14. ningx.conf location
  15. 工程师常犯的web后台界面用户体验错误
  16. Spring容器初始话原理图
  17. linux中创建python的虚拟环境
  18. Linux中rz和sz命令用法详解
  19. poj3278
  20. ios中设置input为readonly后,解决弹起软键盘的问题

热门文章

  1. MVC5.0知识点梳理
  2. Markdown之语法入门篇
  3. Win7 64位操作系统连接HP 1010打印机完美解决方案
  4. Serverless架构详解:开发者如何专注于业务代码本身?
  5. SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志(译)
  6. LeetCode-97.交错字符串
  7. MongoDB作为Windows服务来安装 错误1053:服务没有及时响应启动或控制请求
  8. Hadoop 4 MapReduce
  9. 我的IT未来
  10. Mysql存储引擎federated