当前位置:网站首页>D. Game With Array
D. Game With Array
2022-08-10 20:44:00 【秦小咩】
D. Game With Array
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Petya and Vasya are competing with each other in a new interesting game as they always do.
At the beginning of the game Petya has to come up with an array of NN positive integers. Sum of all elements in his array should be equal to SS. Then Petya has to select an integer KK such that 0≤K≤S0≤K≤S.
In order to win, Vasya has to find a non-empty subarray in Petya's array such that the sum of all selected elements equals to either KK or S−KS−K. Otherwise Vasya loses.
You are given integers NN and SS. You should determine if Petya can win, considering Vasya plays optimally. If Petya can win, help him to do that.
Input
The first line contains two integers NN and SS (1≤N≤S≤1061≤N≤S≤106) — the required length of the array and the required sum of its elements.
Output
If Petya can win, print "YES" (without quotes) in the first line. Then print Petya's array in the second line. The array should contain NN positive integers with sum equal to SS. In the third line print KK. If there are many correct answers, you can print any of them.
If Petya can't win, print "NO" (without quotes).
You can print each letter in any register (lowercase or uppercase).
Examples
input
Copy
1 4
output
Copy
YES 4 2
input
Copy
3 4
output
Copy
NO
input
Copy
3 8
output
Copy
YES 2 1 5 4
样例可不是白给的,从看样例到解决问题只需五分钟
根据两个YES和一个NO猜测是m与n是大于二倍关系才能完成表示,并通过手写几个小样例发现确实是这样,而且2倍的时候也能表示
再考虑通解,抓住大于2倍的特点,我们前n-1个全部填上1,剩下全部填上m-(n-1)
再把k选成m/2这样的话,无论怎么表示,要么小于m/2,要么大于m/2
做多了思路自然产生
#include<iostream>
#include<cstdio>
#include<cstring>
# include<iomanip>
#include<algorithm>
#define mo 998244353;
using namespace std;
typedef long long int ll;
int main()
{
int n,m;
cin>>n>>m;
if(m>=2*n)
{
cout<<"YES"<<endl;
int up=m/2;
for(int i=1;i<n;i++)
{
cout<<1<<" ";
}
cout<<m-(n-1)<<endl;
cout<<m/2<<endl;
}
else
{
cout<<"NO"<<endl;
}
return 0;
}
边栏推荐
- 【语义分割】2015-UNet MICCAI
- 2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th
- 2021 GKCTF X DASCTF应急挑战杯
- [Golang]如何优雅管理系统中的几十个UDF(API)
- 大小端的理解以及宏定义实现的理解
- zip文件协议解析
- Transferrin-modified osthole long-circulating liposomes/PEG-PLGA nanoparticles loaded with notoginsenoside R1 ([email prot
- The 2021 ICPC Asia Shanghai Regional Programming Contest D、E
- 设备管理中数据聚类处理
- 链表应用----约瑟夫问题
猜你喜欢
壁仞推出全球最大算力芯片,号称以7nm超越英伟达4nm最新GPU
QSslSocket has not been declared
优化是一种习惯●出发点是'站在靠近临界'的地方
mysql----group by、where以及聚合函数需要注意事项
Transferrin-modified vincristine-tetrandrine liposomes | transferrin-modified co-loaded paclitaxel and genistein liposomes (reagents)
【图像分类】2019-MoblieNetV3 ICCV
深度学习实战教程(一):感知器
设备管理中数据聚类处理
【语义分割】2016-SegNet TPAMI
电信保温杯笔记——《统计学习方法(第二版)——李航》第17章 潜在语义分析
随机推荐
PostgreSQL 介绍
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
"POJ 3666" Making the Grade problem solution (two methods)
内置模板市场,DataEase开源数据可视化分析平台v1.13.0发布
Web3中值得关注的基础设施
mysql----group by、where以及聚合函数需要注意事项
Getting started with kuberentes Auditing
MySQL查询数据库中的表和字段
Transferrin (TF) Modified Paclitaxel (PTX) Liposomes (TF-PTX-LP) | Transferrin (Tf) Modified Curcumin Liposomes
C语言详解系列——关于调试那些事
Kubernetes 笔记 / 入门 / 生产环境 / 用部署工具安装 Kubernetes / 用 kubeadm 启动集群 / 用 kubeadm 创建集群
C语言写数据库
Floating window in Auto.js
Rider调试ASP.NET Core时报thread not gc-safe的解决方法
mysql服务器参数设置
姜还是老的辣,看看老战哥的老底儿和严谨劲儿
Single-click to cancel the function
.NET现代应用的产品设计 - DDD实践
ansible各个模块的详解和使用
优化是一种习惯●出发点是'站在靠近临界'的地方