每日一题洛谷P8649 [蓝桥杯 2017 省 B] k 倍区间c++

P8649 [蓝桥杯 2017 省 B] k 倍区间 - 洛谷 (luogu.com.cn)

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
#define int long long
signed main() {
	int n, k;
	cin >> n >> k;
	vector<int> a(n + 1);
	vector<int> sum(n + 1);
	vector<int> cnt(k);
	sum[0] = 0;
	cnt[0] = 1;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		sum[i] = (sum[i - 1] + a[i]) % k;
		cnt[sum[i]]++;
	}
	int count = 0;
	for (int i = 0; i < k; i++) {
		count += cnt[i] * (cnt[i] - 1) / 2;
	}
	cout << count << endl;
	return 0;
}
相关推荐
地平线开发者33 分钟前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
快乐的划水a38 分钟前
组合模式及优化
c++·设计模式·组合模式
地平线开发者1 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
星星火柴9362 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑3 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
C++、Java和Python的菜鸟4 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀4 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散1124 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧5 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
阿巴~阿巴~5 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list