河床

Time Limit: 3000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

地理学家们经常要对一段河流进行测量分析。他们从上游开始向下游方向等距离地选择了 n(n≤30000)个点测量水位深度。得到一组数据d1,d2,...,dn,回到实验室后数据分析员根据需要对数据进行分析,发掘隐藏在数据背后的规 律。最近,乌龙博士发现某种水文现象与河床地势有关,于是他指示分析员要找到一段河流中最大高低起伏差不超过k(k≤100)的最长一段。这看似一个复杂 的问题,由于任务紧急,分析员来求助于你,并告诉你博士的所有数据都精确到各位。

输入

输入数据有2行。
第一行是整数n和k,分别表示测量点的个数和博士要求的最大水深差(也就是河床地势差)。
第2行有n个整数,表示从上游开始依次得到的水位深度di(1≤i≤n,0≤di≤32767)。

输出

输出数据只有1行,是整数m,表示最长一段起伏不超过k的河流长度,用测量点个数表示。

示例输入

6 2
5 3 2 2 4 5

示例输出

4
#include <iostream>
#include <string>
#include <algorithm> using namespace std; int a[30002]; int main()
{
int n, k; //测量点 最大落差
int high, low; //当前测量段落的最高点,最低点
int len, Max; //保存当前长度 保存最终最大长度 cin>>n>>k;
int i, j;
for(i=0; i<n; i++)
{
cin>>a[i];
} Max=0;
for(i=0; i<n; i++)
{
high=a[i];
low=a[i];
len=1;
for(j=i+1; j<n; j++)
{
if(a[j]<low)
{
low=a[j];
if((high-low)<=k)
{
len++;
}
if((high-low)>k )
{
if(Max<len)
Max=len;
break;
}
}
else if(a[j]>high)
{
high=a[j];
if((high-low)<=k)
{
len++;
}
else if((high-low)>k )
{
if(len>Max)
Max=len;
break;
}
}
else
{
len++;
}
}
if(len>Max)
Max=len;
}
cout<<Max<<endl;
return 0;
}

SDUT OJ 河床的更多相关文章

  1. SDUT OJ 2607

    /*http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2607*/ 题目大意:给出一个字符串,求出里 ...

  2. SDUT OJ 1221 亲和数 (找出某个数n所有的因子数,只需要暴力:2->sqrt(n) 即可 )

    亲和数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 如果a的因子和等于b,b的因子和等于a,且a≠b,则称a,b为亲和数对. ...

  3. SDUT OJ 图练习-BFS-从起点到目标点的最短步数 (vector二维数组模拟邻接表+bfs , *【模板】 )

    图练习-BFS-从起点到目标点的最短步数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 在古老的魔兽传说中,有两个军团,一个叫天 ...

  4. 【离散数学】 SDUT OJ 传递闭包 && memset 使用注意事项

    传递闭包 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 已知有n头牛,m次战斗关系, ...

  5. SDUT OJ 2783 小P寻宝记

    #include<iostream> #include<memory.h> #define N 10020 using namespace std; int dp[N],pi[ ...

  6. SDUT oj 3005 打怪升级(内存搜索)

    当比赛一直纠缠骑2如何做一个非常大的数量,数组不开啊...后来他们发现自己很傻啊,该数不超过最大10什么,这个上限就是力量100什么.. .. 其它的就是记忆化搜索啊,还有就是加一点力量的瓶子当时就要 ...

  7. SDUT OJ 2463 学校password你必须学会科学计划

    #include<iostream> #include<string.h> #include<stdio.h> #define N 10010 #define M ...

  8. SDUT oj 2610

    /*题目大意:输入一序列n个数字,然后输入m个询问,每个询问包含左边区间和右边区间,还有a和b,问你这个区间内有几个数大于等于a且小于等于b 做法:树状数组,先求出这个区间内有几个数小于a,然后求这个 ...

  9. SDUT OJ 效率至上(线段树)

    效率至上 Time Limit: 5000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题意很简单,给出一个数目为n ...

随机推荐

  1. project 的用法

    任务和子任务,树状结构: 点击一个绿色的箭头就可以实现. 时间的话:视图→甘特图→双击“开始时间”修改即可

  2. fastJson 转换日期格式

    第一种方法: JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd"; String str = JSON.toJSONString(user,Seria ...

  3. ssh登录慢的解决办法

    ubuntu的ssh登录有点慢,其实是很慢 google了一把,发现可以这样解决: (1)可能是DNS反向解析的问题 对于这样的问题,可以在/etc/ssh/sshd_config 中添加/修改: U ...

  4. Oracle中Hint深入理解(原创)

    http://czmmiao.iteye.com/blog/1478465 Hint概述  基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明 ...

  5. python判断字符串类型

    s为字符串 s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False.(重点,这是字母数字一起判断的!!) s.isalpha() 所有字符都是字母,为真返回 Tur ...

  6. 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

    JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...

  7. Linux系统rootpassword改动

    重新启动系统. 进入系统引导界面: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzMzOTg1MQ==/font/5a6L5L2T/fontsi ...

  8. 浅谈iOS中MVVM的架构设计与团队协作【转载】

    今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

  9. 现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。

    include "stdafx.h" #include<iostream> #include<vector> #include<algorithm&g ...

  10. android 编译问题解决

    1.android4.2.2 '/root/origin_android/mokesoures/out/target/common/obj/APPS/ApplicationsProvider_inte ...