Content

有 \(n\) 个数 \(a_1,a_2,a_3,...,a_n\),要求分成 \(k\) 段,每一段的数的总和相等。输出这些段的长度,或者不可能满足要求。

数据范围:\(1\leqslant n,k\leqslant 10^5,1\leqslant a_i\leqslant 10^4\)。

Solution

我们先暴力扫一遍,把每一段的总和求出来,具体来说,如果有总和 \(=\overline{a_i}\) 的一段,那么就把它加入答案序列里面,这样的话还可以很好地判断无法满足要求的情况。最后再看如果分的段数是否 \(=k\),不等于的话就不可能满足题目要求,否则将答案序列输出即可。

感觉这样讲的不太懂的去看代码理解一下吧。

Code

int n, k, sum, a[100007], s, len = 0, ans[100007];

int main() {
getint(n), getint(k);
_for(i, 1, n) {getint(a[i]); sum += a[i];}
_for(i, 1, n) {
len++;
s += a[i];
if(s == sum / k) {ans[++ans[0]] = len; len = s = 0; if(ans[0] == k && i != n) return printf("No"), 0;}
}
if(ans[0] < k) printf("No");
else {
puts("Yes");
_for(i, 1, ans[0]) {writeint(ans[i]); putchar(' ');}
}
return 0;
}

最新文章

  1. ios视图frame和bounds的对比
  2. jsoup简单的爬取网页数据
  3. 让Windows 7变成WIFI热点
  4. SGU 422 Fast Typing(概率DP)
  5. [python学习笔记]Day2
  6. 键盘--android 隐藏系统键盘
  7. Web Service无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分
  8. 日志工具logback的简介与配置
  9. 结构体UT_LIST_ADD_LAST
  10. 百度地图API地点搜索-获取经纬度
  11. jquery拖拽插件 tableDnD
  12. Linux的正则表达式grep,egrep
  13. HP 1010、 1020、 1022 、M1005激光打印机内部无卡纸,但机器仍提示卡纸?
  14. 兆芯 服务器 win2012/win7装机总结
  15. 整合Spring框架和MyBatis框架
  16. 你可能不知道的viewport
  17. scrollView + tableview 上下滑动失效
  18. [LeetCode] All questions numbers conclusion 所有题目题号
  19. [QSCOJ39]喵哈哈村的代码传说 第五章 找规律
  20. 使用js实现单向绑定

热门文章

  1. idea中解决整合SSM加载不到dataSource;
  2. Python描述符以及Property方法的实现原理
  3. Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始
  4. ubuntu安装配置ssh-connect to host localhost port 22: Connection refused
  5. 小程序https启用tls1.2
  6. 【Redis】Sentinel 哨兵模式
  7. day17 常用模块的应用
  8. Spark基础:(四)Spark 数据读取与保存
  9. 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序
  10. 初学js正则表达式之密码强度验证