链接:https://www.nowcoder.com/acm/contest/181/C
来源:牛客网

题目描述

小a有n个数,他想把他们划分为连续的权值相等的k段,但他不知道这是否可行。
每个数都必须被划分

这个问题对他来说太难了,于是他把这个问题丢给了你。

输入描述:

第一行为两个整数n,q,分别表示序列长度和询问个数。
第二行有n个数,表示序列中的每个数。
接下来的q行,每行包含一个数k,含义如题所示。

输出描述:

输出q行,每行对应一个数Yes或者No,分别表示可行/不可行

输入例子:
5 3
2 1 3 -1 4
3
2
1
输出例子:
Yes
No
Yes

-->

示例1

输入

复制

5 3
2 1 3 -1 4
3
2
1

输出

复制

Yes
No
Yes

备注:

对于的数据,
对于的数据,
对于的数据,
设ai表示数列中的第i个数,保证
保证数据完全随机
 
分析:
AC代码:
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#define ls (r<<1)
#define rs (r<<1|1)
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
const ll maxn = 1e5 + 10;
const double eps = 1e-8;
const ll mod = 1e9 + 7;
const ll inf = 1e9;
const double pi = acos(-1.0);
ll a[maxn];
int main() {
std::ios::sync_with_stdio(false);
ll n, q, sum = 0;
scanf("%lld%lld",&n,&q);
for( ll i = 0; i < n; i ++ ) {
scanf("%lld",&a[i]);
sum += a[i];
}
while( q -- ) {
ll k;
scanf("%lld",&k);
if( sum%k || k > n ) {
printf("No\n");
continue;
}
ll ans = 0, avg = sum/k, cnt = 0;
bool flag = false;
for( ll i = 0; i < n; i ++ ) {
ans += a[i]; //最后可能加上0,而0可以合并到前面区间,所以用ans=0来判断
//开始用flag判断最后一位是否刚好可以让ans=avg,判断错了
if( ans == avg ) {
ans = 0;
cnt ++;
}
}
if( ans == 0 && cnt == k ) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}

  

最新文章

  1. python的print函数的格式化输出
  2. ABAP 常见查询问题解决方法
  3. Eclipse常用快捷键与代码模板
  4. 在C#中对Datatable排序【DefaultView的Sort方法】
  5. lintcode :First bad version 第一个错误的代码版本
  6. Android判断网络是否已经连接
  7. webrtc学习(二): audio_device之opensles
  8. 【手把手教你Elmah】如何在MVC.NET项目中在线查看【错误日志】
  9. CoreAnimation 核心动画二 锚点
  10. ACM2037
  11. 1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。
  12. 【BZOJ4822】[CQOI2017]老C的任务(扫描线)
  13. 【转】robot framework + python实现http接口自动化测试框架
  14. windows 10 更新失败及应用商店重装问题解决记录
  15. PHP打开空白的解决办法
  16. MAC上安装GCC失败
  17. jboss各种测试方式归类
  18. 成员函数后面加const,没有const,以及使用的区别
  19. 我的QT5学习之路(四)——信号槽
  20. bzoj 1833

热门文章

  1. 【Python】Django【邮箱验证】 后端验证如何生成 token加密验证码 与如何解码!!!!
  2. SQLServer2000同步复制技术实现步骤
  3. 安装MySQL5.7 安装环境:CentOS7 64位 MINI版,
  4. 树莓派 + Windows IoT Core 搭建环境监控系统
  5. Android 9.0 关机流程分析
  6. kubernetes CRD开发指南
  7. 数据结构之稀疏矩阵C++版
  8. Spring 常犯的十大错误,答应我 打死都不要犯好吗?
  9. RE最全面的正则表达式----数字篇
  10. 直击--vue项目微信小程序页面跳转web-view不刷新-根源