Content

有 \(n\) 个数,要分成若干堆,要求每堆中的负数最多只能有两个。试求出分成的堆数最少是多少,并求出每一堆里面的数的个数。

数据范围:\(1\leqslant n\leqslant 100,|a_i|\leqslant100\)。

Solution

这题目不算太难,我的想法是这样的:一个一个判断是不是负数,如果出现了 \(3\) 个负数,那么就把前面的所有数全部划进一堆,就可以保证堆数最少了。

Code

#include <cstdio>
using namespace std; int n, a[107], s[107], neg; int main() {
scanf("%d", &n);
s[0] = 1;
for(int i = 1; i <= n; ++i) {
scanf("%d", &a[i]);
if(a[i] < 0) neg++;
if(neg > 2) {
++s[0];
neg -= 2;
}
s[s[0]]++;
}
printf("%d\n", s[0]);
for(int i = 1; i <= s[0]; ++i) printf("%d ", s[i]);
}

最新文章

  1. MFC和Direct3D9一起使用
  2. SDL2.0的VS开发环境搭建
  3. linux新增一块硬盘加入原有分区
  4. Linux 系统中用户切换(su user与 su - user 的区别)
  5. Lua基础之字符串(string)
  6. C#- 基于Lumisoft.NET组件的POP3邮件接管和删除操纵
  7. error: png.h not found.
  8. Mac下chrome的webapp hostadmin 快速切换host
  9. 《HelloGitHub月刊》第 02 期
  10. MongoDB日常运维操作命令小结
  11. 【BZOJ4566】【HAOI2016】找相同字符
  12. BeanShell使用json.jar包处理Json数据
  13. CSocket类的使用
  14. 如何处理HTML5新标签的兼容性问题
  15. ACM-ICPC 2018北京网络赛-A题 Saving Tang Monk II-优先队列
  16. 安装vm虚拟机
  17. jQuery.form开发手记
  18. 案例:1 Ionic Framework+AngularJS+ASP.NET MVC WebApi Jsonp 移动开发
  19. struts2 拦截器,使用spring注入
  20. 【思维题 欧拉图】loj#10106. 单词游戏

热门文章

  1. spring boot(三)整合 redis
  2. centos与ubuntu安装及相关问题解答
  3. CF1574D The Strongest Build
  4. 洛谷 P5470 - [NOI2019] 序列(反悔贪心)
  5. os.path.join()函数
  6. LearnPython_week4
  7. 『与善仁』Appium基础 — 17、元素定位工具(一)
  8. Python中的随机采样和概率分布(二)
  9. A Child&#39;s History of England.9
  10. day05 django框架之路由层