K倍区间题

标签: c c++
2人阅读 评论(0) 收藏 举报
分类:
链接:https://www.nowcoder.com/acm/contest/91/L
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

给一个数组 a,长度为 n,若某个子序列中的和为 K 的倍数,那么这个序列被称为“K 序列”。现在要你 对数组 a 求出最长的子序列的长度,满足这个序列是 K 序列。 

输入描述:

第一行为两个整数 n, K, 以空格分隔,第二行为 n 个整数,表示 a[1] ∼ a[n],1 ≤ n ≤ 105 , 1 ≤ a[i] ≤ 109 , 1 ≤ nK ≤ 107

输出描述:

输出一个整数表示最长子序列的长度 m
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 100005;
int a[maxn];
int n, k;
map<int,int> m;
int main()
{    
	int len = -1;
	scanf("%d%d",&n,&k);
	a[0] = 0;
	for(int i = 1;i <= n;i ++)
	{
		scanf("%d",&a[i]);
		a[i] += a[i - 1];
		a[i] %= k;
		if(a[i] == 0)
		{
			len = max(len,i);
			continue;
		}
		
		if(m[a[i]] == 0) m[a[i]] = i;
		else
		{
			len = max(len,i - m[a[i]]);
		}
	}
	cout << len;
	return 0; 
}


查看评论

软件开发,人的管理——书评《最后期限》

软件开发,人的管理——书评《最后期限》Windy.J    记得有一段时间,我迷上了UFO,神秘文明,四维空间等等,走在路上,周围一个人也没有的时候,经常会担心:我会不会一不小心走进四维空间,然后发生...
  • gigix
  • gigix
  • 2003-03-07 15:40:00
  • 1881

蓝桥杯K倍区间

历届试题 k倍区间   时间限制:2.0s   内存限制:256.0MB      问题描述   给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续...
  • Soul_97
  • Soul_97
  • 2018-01-31 21:13:42
  • 287

第八届蓝桥杯第10题k倍区间

标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i 你能求出数列中总共有多少个K倍区间吗?   输入 ---...
  • z956281507
  • z956281507
  • 2017-04-08 15:23:09
  • 1425

2017蓝桥杯k倍区间问题

标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i &amp;lt;= j)之和是K的倍数,我们就称这个区间[i, j]是...
  • w_x_s_h_h
  • w_x_s_h_h
  • 2018-02-26 11:23:37
  • 140

蓝桥杯 k倍区间(前缀和)

标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i ...
  • qq_27601815
  • qq_27601815
  • 2017-04-26 19:17:06
  • 536

2017蓝桥杯 K倍区间(前缀和)

标题: k倍区间给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i ...
  • qq_35776409
  • qq_35776409
  • 2017-10-13 14:56:50
  • 1090

2017第八届蓝桥杯-K倍区间问题

前缀和取余k标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i ...
  • vagebird
  • vagebird
  • 2017-04-08 20:41:15
  • 2112

第八届蓝桥杯【省赛试题10】k倍区间

题目描述:   给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i ...
  • qq_34594236
  • qq_34594236
  • 2017-04-27 11:34:03
  • 1703

第八届蓝桥杯 k倍区间(前缀和)

标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i ...
  • CillyB
  • CillyB
  • 2017-04-17 16:11:19
  • 1500

蓝桥杯-K倍区间(前缀和) 分巧克力(二分)

给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i ...
  • yo_bc
  • yo_bc
  • 2017-05-23 00:31:42
  • 362
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 2682
    排名: 1万+
    文章存档
    最新评论