当前位置: 首页 > article >正文

蓝桥杯 k倍区间

题目描述

给定一个长度为 NN 的数列,A1,A2,⋯ANA1​,A2​,⋯AN​,如果其中一段连续的子序列 Ai,Ai+1,⋯AjAi​,Ai​+1,⋯Aj​ ( i≤ji≤j ) 之和是 KK 的倍数,我们就称这个区间 [i,j][i,j] 是 K 倍区间。

你能求出数列中总共有多少个 KK 倍区间吗?

输入描述

第一行包含两个整数 NN 和 KK( 1≤N,K≤1051≤N,K≤105 )。

以下 N 行每行包含一个整数 AiAi​ ( 1≤Ai≤1051≤Ai​≤105 )

输出描述

输出一个整数,代表 K 倍区间的数目。

输入输出样例

示例

输入

5 2
1
2
3
4
5

输出

6

运行限制

  • 最大运行时间:2s
  • 最大运行内存: 256M

 前缀和数组对k取余,余数相同时

#include <iostream>
using namespace std;

long long int nums[100100];
int cnt[100100];

int main()
{
  int n, k;
  long long int res = 0;
  cin>>n>>k;
  for(int i=1; i<=n; i++){
    int cur;
    cin>>cur;
    nums[i] += cur + nums[i-1];
    if(nums[i] % k == 0){
      ++res;
    }
    res += cnt[ nums[i] % k ];
    ++cnt[ nums[i] % k];
  }
  cout<<res;
  return 0;
}

,两两之间就是k倍子区间


http://www.kler.cn/a/581977.html

相关文章:

  • 《深度解析DeepSeek-M8:量子经典融合,重塑计算能效格局》
  • 深度学习分词器char-level实战详解
  • BambuStudio学习笔记:MinAreaBoundigBox
  • AS_Path过滤器应用灵活配置示例
  • Nginx 缓存清理
  • Hugging Face的Transformers核心模块:Pipelines(参数说明,各种模型类型调用案例)
  • 第十一届蓝桥杯单片机国赛
  • 最后一个单词的长度(js实现,LeetCode58)
  • 简单工厂 、工厂方法模式和抽象工厂模式
  • Spring-事务
  • Qt测试程序经过的时间
  • UI自动化:Python + Selenium4.6以前的版本 环境搭建
  • 熬夜肝,如何免邀请码使用Manus(全套教程)
  • Vite为什么选用Rollup打包?
  • 开源数字人模型Heygem
  • Matlab中快速查找元素索引号
  • 涨薪技术|Kubernetes(k8s)之Service服务类型
  • Epoch 和 Batch Size的设计 + 模型的早停策略(基于上篇)
  • 物联网中如何增加其可扩展性 协议 网络 设备 还包括软件层面上的
  • 内存检测工具——Qt Creator