哇这道题好坑啊,可能是我太菜了

题意就是叫把一个连续序列分成K组,使得每个组的和都相等

我最开始的想法是由于要分成K组,那我们知道,每组一定有sum(a[i])/k这样我们只需要每次当num==sum/k时,把num变成0

这样我们看最后是不是0,即可判断是否可以分组,但是最后要考虑到末尾为0的情况,你比如,序列是9 -1 8 0,你分2组,那

么我们知道,在8的时候我们就把num清空了,这样flag遇到0就变变成负数,就判断错了,我们其实可以这样,在最后再次判断num==0如果还等于0,那么就令flag为1,否则为-1

感谢给我讲题的大佬

#include<iostream>
#include<string.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int n,q;
long long a[];
while(~scanf("%d%d",&n,&q))
{
long long sum=;
for (int i=; i<=n; i++)
{
scanf("%lld",&a[i]);
sum+=a[i];
}
int k=;
int cnt=;
long long num=;
for (int i=;i<=q;i++)
{
scanf("%d",&k);
int flag=;
if (sum%k)
{
flag=;
}
else
{
num=;
cnt=;
for (int i=; i<=n; i++)
{
num+=a[i];
if (num==sum/k)
{
flag=;
num=;
}else {
flag=;
}
}
if (num==){
flag=;
}
}
if (flag)printf("Yes\n");
else printf("No\n");
}
}
return ;
}

最新文章

  1. 使用批处理文件在FTP服务器 上传下载文件
  2. win7(32/64)+apache2.4+php5.5+mysql5.6 环境搭建配置
  3. POJ1328——Radar Installation
  4. DOM4J介绍与代码示例(2)-XPath 详解
  5. Mysql之单表记录查询
  6. android scrollview嵌套listview计算高度的问题
  7. Senparc之OAuth原理
  8. 处理Word文档中所有修订
  9. OneAPM 获得“2018中国 IT 服务创新奖”,彰显技术创新实力
  10. Vue学习四:v-if及v-show指令使用方法
  11. Nginx搭建hls流媒体服务器
  12. ASCII对照表
  13. iptable 大量需要封杀的ip地址便捷方法
  14. MySQL 大表备份、改表
  15. php_memcache 缓存 下载-安装-配置-学习
  16. 删除 Linux /tmp 目录下的临时文件
  17. mysql底层实现
  18. JavaScript常用語句
  19. linux 使用vim文件加密/解密的方法
  20. rpm | yum 安装软件包时key过期

热门文章

  1. HDU ACM 1224 Free DIY Tour (SPFA)
  2. 在Emacs中使用git操作
  3. zabbix-Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused
  4. domain or business logic
  5. Base64编码/解码
  6. Decentraleyes - Local emulation of Content Delivery Networks
  7. GUI_菜单练习
  8. php 对象教程
  9. leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列
  10. WebSockets通信