牛客网 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)求最大值

题目描述

给出一个序列,你的任务是求序列中 (a[j]-a[i])/(j-i)【1<=i<j<=n】的最大值

输入描述:

本题包含多组输入,每组输入第一行一个数字n,表示序列的长度。然后接下来一行输入n个数,表示原先序列的样子。数据范围:3<=n<=200000-1000000000<=a[i]<=1000000000

输出描述:

每组数据输出一行一个浮点数,保留两位小数,表示所求的最大值。

示例1

输入

5
2 4 6 8 10

输出

2.00

备注:

输入只有整形。

分析:对于这个数组里的数,我们可以将它们看作点,把下标看成横坐标,值看成纵坐标,这样的话,问题就转化为了两点斜率最大那么斜率最大的一定能对应相邻的两个点。因为如果不相邻的话,设这两点斜率为k 这两个点之间其他点的连线斜率必然存在>=k
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <queue>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
#define  INF 0x3f3f3f3f
const  int MAXN=200100;
double a[MAXN];
double maxx;
int main()
{
      int n;
      while(scanf("%d",&n)!=EOF)
      {
          maxx=-INF;
           for(int i=0;i<n;i++)
           scanf("%lf",&a[i]);
          for(int i=1;i<n;i++)
           maxx=max(a[i]-a[i-1],maxx);
          printf("%.2f\n",maxx);
      }
    return 0;
}
时间: 2024-10-12 18:06:58

牛客网 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-低年级组)求最大值的相关文章

哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)A - 所有情况的和

题目描述 在acimo星球, tabris 是一名勇敢的屠龙勇士,在上绿岛屠龙前决定挑选N种装备武装自己,现在每种装备有两个,**但每种装备tabris必须选择拿一个**,**不能多也不能少**.每件装备有自己的属性值,能给tabris属性加成.对于不同种类的装备之间有叠加效果,如果选择多件装备,最终的属性加成为他们的乘积.若tabris初始属性值为0,最后属性加成的期望是多少. 输入描述: 有多组测试样例,输入到文件结束.每组测试数据的第一行包含一个正整数NN,表示装备的种类数.接下来N行,每

哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)E - 音乐转换

题目描述 John是一位热衷的音游爱好者. 一天,他正在玩音游,碰到了一个难题.他面前有一个初始旋律,游戏目标是要把这一段初始旋律变成目标旋律.但是,难点在于,John并不能随意的改变这一旋律,每一次改变之后的旋律必须在他的旋律库中(或者为目标旋律),更令人头疼的是,每一次操作都需要消耗一定的combo,我们假设从A旋律改变成B旋律,那么这一次操作所消耗的Combo数是A与B的最大子旋律长度(最大公共子序列)再加1.需要注意的是,初始旋律必须变成旋律库中的一个旋律或者直接变成目标旋律,而旋律库中

北京师范大学第十六届程序设计竞赛决赛-重现赛 ACFGI

A 塞特斯玛斯塔 题目描述 quailty是一名狂热的ACM音游选手,沉迷各种音乐游戏,比如Lunatic Rave 2,osu!之类的. 今天,quailty玩的是国内游戏厂商雷亚(并不是赞助商)出品的一款音乐游戏Cytus. 游戏中,玩家需要随着游戏界面中上下移动的扫描线来适时演奏对应音符. 当上下移动的黑色线(扫描线)与圆形的物体(音符)的圆心重合时点击音符. 普通音符(图中第一种)只需点击即可. 锁链音符(图中第二种)将带箭头的音符(滑块)按下后不要松开,并将滑块沿着斜线和圆点组成的路径

第十四届华中科技大学程序设计竞赛决赛同步赛

第十四届华中科技大学程序设计竞赛决赛同步赛 A Beauty of Trees 思维,带权并查集 题意: 长度为 n 的序列,没告诉你具体数是多少.只给出 m 个查询,表示区间 [l,r] 的异或和为 k .但是第 i 个查询如果和前面的查询有矛盾,那就是错误的.输出所有的错误查询. tags: 对于一个查询,我们知道 sum[r] ^ sum[l-1] = k . 建成图就是 r -> (l-1) ,但要快速地求出异或值,就要用带权并查集处理.如有 sum[r]^sum[l-1]=k,即 r

陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】

链接:https://www.nowcoder.com/acm/contest/121/J来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的小老弟.小老弟是如何产生的呢?聪明的iko告诉黑猫,其实是有规律的(她怎么知道???)! 一开始,有两个原始二五仔,代号0/1和1/1, 从原始二五仔到第n代小老弟,每代相邻两个小老弟a/b和c/d,产生一个新的小老弟(a+c)/(b+d),成为下一代新成员.将每一代的小老弟代号约分(包括0/1,1/

湖南省第七届程序设计竞赛 最优对称路径

http://acm.nyist.net/JudgeOnline/problem.php?pid=564 湖南省第七届大学生计算机程序设计竞赛 题目G 最优对称路径 给一个n行n列的网格,每个格子里有一个1到9的数字.你需要从左上角走到右下角,其中每一步只能往上.下.左.右四个方向之一走到相邻格子,不能斜着走,也不能走出网格,但可以重复经过一个格子.为了美观,你经过的路径还必须关于"左下-右上"这条对角线对称.下图是一个6x6网格上的对称路径. 你的任务是统计所有合法路径中,数字之和最

哈尔滨理工大学第六届程序设计团队 I-Team

/* 以前做过一个插队的题,这个类似从后往前操作 */ #include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> #include <vector> #define N 600000 using namespace std; struct node { int x,y,z; //每一个操作,z表示这个操作是不是有效的 node(){} node(

哈尔滨理工大学第六届程序设计团队 E-Mod

/* 成功水过,哈哈哈,可能数据水吧 */ #include <stdio.h> #include <algorithm> #include <string.h> #include <queue> #include <set> #define t_mid (l+r >> 1) #define ls (o<<1) #define rs (o<<1 | 1) #define lson ls,l,t_mid #def

哈尔滨理工大学第六届程序设计团队 H-Permutation

/* 数学是硬伤......推了半小时推出来一个错误的公式 */ #include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> #define mod 1000000007 using namespace std; int n,t; /* 推出来的错误公式....... f[n]=f[n-1]+(n-1)*(f[n-1]-1); */ long long a[2