Tyvj1147
来源:互联网 发布:淘宝培训班杭州 编辑:程序博客网 时间:2024/06/16 05:25
题目链接
分析:
数的范围挺小,
所以直接开一个数组,
len(x)=len(x-k)+1
tip
可能有负数,所以所有数都要加上100000
数组大小要开到100000*3
因为k有可能是负的
这里写代码片#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int N=100001;int n,k,ans=0;int a[N],sum[N*3];int main(){ memset(sum,0,sizeof(sum)); scanf("%d%d",&n,&k); for (int i=1;i<=n;i++) scanf("%d",&a[i]),a[i]+=100000; for (int i=1;i<=n;i++) { int x=a[i]-k; if (x>=0) sum[a[i]]=sum[x]+1; else sum[a[i]]=1; ans=max(ans,sum[a[i]]); } printf("%d",ans); return 0;}
阅读全文
0 0
- Tyvj1147
- 文件系统
- 机器学习笔记-Decision Tree
- 遗传算法
- 自定义带箭头圆圈,自定义点击事件可以加减速,暂停继续,自动旋转
- Impala简介
- Tyvj1147
- Redis常用数据类型介绍、使用场景及其操作命令
- web部分笔记(1)servlet/jsp
- 为什么类和接口不能使用private和protected?接口的方法不能使用private、protected、default
- HDU 6194 String String String (后缀数组+线段树, 2017 ACM/ICPC Asia Regional Shenyang Online)
- Java的线程池
- Java常量池详解之Integer缓存
- 关于Js事件函数结尾return false的思考
- Python 性能优化【2】 -- 高效的使用序列与字典、集合