博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF1157D N Problems During K Days
阅读量:5304 次
发布时间:2019-06-14

本文共 1016 字,大约阅读时间需要 3 分钟。

思路:

在1, 2, 3, ... , k的基础上贪心构造。

实现:

1 #include 
2 using namespace std; 3 typedef long long ll; 4 int a[100005]; 5 int main() 6 { 7 int n, k; 8 while (cin >> n >> k) 9 {10 if (n < (ll)k * (k + 1) / 2) { cout << "NO" << endl; continue; }11 if (k == 1) { cout << "YES\n" << n << endl; continue; }12 if (k == 2 && n == 4) { cout << "NO" << endl; continue; }13 for (int i = 1; i <= k; i++) a[i] = i;14 ll r = n - k * (k + 1) / 2;15 int d = r / k, t = r % k;16 for (int i = 1; i <= k; i++) a[i] += d;17 while (t && a[k] < a[k - 1] * 2) { a[k]++; t--; }18 int i = k - 1;19 for ( ; i > k - 1 - t; i--) a[i]++;20 if (a[i + 1] > a[i] * 2) cout << "NO" << endl;21 else22 {23 cout << "YES" << endl;24 for (int i = 1; i <= k; i++) cout << a[i] << " ";25 cout << endl;26 }27 }28 return 0;29 }

 

转载于:https://www.cnblogs.com/wangyiming/p/10801226.html

你可能感兴趣的文章
wifidog 配置中文说明
查看>>
Sublime Text 中文乱码问题
查看>>
带输入查询功能匹配下拉框的几种实现方式
查看>>
MySite上UserProfile的Property数量减少
查看>>
什么是测试策略?
查看>>
TCP与UDP的区别
查看>>
Python内置函数(15)——memoryview
查看>>
Python-模块使用-Day6
查看>>
Mysql之数据库连接工具
查看>>
MySQL之MyISAM存储引擎压缩表
查看>>
php中开启curl
查看>>
iOS 支持arm_64 和 x86_64 的OpenSSL 静态库(libcrypto.a, libssl.a)
查看>>
Unity3D第二课之通过键盘、鼠标移动物体
查看>>
json数组本地获取,以及根据字段排序【部分摘录】
查看>>
python 提取整个 HTML 节点
查看>>
在IIS上部署你的ASP.NET Core项目
查看>>
ubuntu修改IP地址和网关的方法
查看>>
LeetCode 124. Binary Tree Maximum Path Sum
查看>>
陀螺仪操作摄相机,可以旋转,但角度(轴)还不对
查看>>
centos 中文乱码解决途径
查看>>