#424 Div2 C

题意

给出 k 个分数,初始分数未知,按顺序把这 k 个分数加到初始分数上,已知 n 个加入分数后的结果(无序),问初始分数有多少种可能。

分析

也就是说这 n 个结果,它们之间的差是确定的(排序之后作差),对 k 个分数求前缀和,分别枚举每一个数作为起点,是否能找到后面的数使得最后的数列数之间的差与 n 个结果的差相同。

code

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 3000;
int a[MAXN], b[MAXN];
set<int> S;
int main() {
int n, k;
cin >> n >> k;
for(int i = 0; i < n; i++) {
cin >> a[i];
if(i) {
a[i] += a[i - 1];
}
S.insert(a[i]);
}
for(int i = 0; i < k; i++) {
cin >> b[i];
}
sort(a, a + n);
sort(b, b + k);
int ans = 0;
for(int i = 0; i + k <= n; i++) {
if(i && a[i] == a[i - 1]) continue;
int st = a[i];
int p = 1;
for(int j = 1; j < k; j++) {
int x = b[j] - b[j - 1];
st += x;
if(!S.count(st)) {
p = 0;
break;
}
}
ans += p;
}
cout << ans << endl;
return 0;
}

最新文章

  1. 机器学习实战笔记(Python实现)-06-AdaBoost
  2. 自然语言23_Text Classification with NLTK
  3. NLP文本情感分类传统模型+深度学习(demo)
  4. 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。
  5. SpringSecurity简单应用(二)
  6. 武汉科技大学ACM :1006: 零起点学算法25——求两点之间的距离
  7. [TYVJ] P1017 冗余关系
  8. Extjs Tooltip属性的使用
  9. Qt实现QQ好友下拉列表(用QListView实现,所以还得定义它的Model)
  10. WAS缓存导致的修改文件不生效问题【转】
  11. MySQL 基础知识梳理学习(七)----sync_binlog
  12. Web程序报错:Error instantiating servlet
  13. c/c++ 标准库 map set 删除
  14. 利用BBED恢复数据文件头
  15. Atcoder F - LCS (DP-最长公共子序列,输出字符串)
  16. python 序列化模块之 json 和 pickle
  17. C 栈实现队列节点的管理
  18. 009-ThreadPoolExecutor运转机制详解,线程池使用1-newFixedThreadPool、newCachedThreadPool、newSingleThreadExecutor、newScheduledThreadPool
  19. centos安装pip扩展包
  20. ubuntu16.04 LTS Server 安装mysql phpmyadmin apache2 php5.6环境

热门文章

  1. Java基础-3类和对象声明与创建
  2. Nodejs的那些事
  3. Springboot 启动问题
  4. 线段树(单点更新,区间查询) HDU 1754 I Hate It
  5. PAT——甲级1042:Shuffling Mashine
  6. CS231n——图像分类(KNN实现)
  7. ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 C: 挂盐水
  8. Educational Codeforces Round 2 A. Extract Numbers
  9. ping &amp; traceroute 原理
  10. ie下,jquery为动态添加的节点添加事件,用live