1786: 求最大值

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 222  Solved: 46



SubmitStatusWeb
Board

Description

给定n个数,a[1]到a[n],请你帮忙找出a[i] - a[j]的最大值,其中1 <= i < j <= n.

Input

第一行一个数T,表示一共有T组数据(T <= 20); 每组测试数据第一行一个整数n(2 <= n <= 10 ^ 5),表示接下来有n个数,第二行n个整数,不超过10 ^ 6,中间用空格隔开。

Output

每组数据输出一行,表示最大值是多少。

Sample Input

255 2 3 6 123 2

Sample Output

51

HINT


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int num[100100],pre[100100];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
memset(num,0,sizeof(num));
memset(pre,0,sizeof(pre));
scanf("%d",&num[1]);
int k=1;
pre[1]=1;
for(int i=2;i<=n;i++)
{
scanf("%d",&num[i]);
if(num[i]>=num[k])
{
k=i;
}
else
{
if(pre[k])
{
if(num[i]<num[pre[k]])
pre[k]=i;
}
else
pre[k]=i;
}
}
int m=-1;
for(int i=1;i<n;i++)
m=max(m,num[i]-num[pre[i]]);
printf("%d\n",m);
}
return 0;
}

<pre name="code" class="cpp">#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int m,n;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
n--;
int m;
scanf("%d",&m);
int k;
int mm=-1;
while(n--)
{
scanf("%d",&k);
if(k>m)
m=k;
else
{
int s=m-k;
mm=max(mm,s);
}
}
printf("%d\n",mm);
}
return 0;
}

zzulioj--1786--求最大值(技巧题)的更多相关文章

  1. zzuli求最大值

    1786: 求最大值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 134  Solved: 28SubmitStatusWeb Board Desc ...

  2. HDU 1754 I Hate It 线段树单点更新求最大值

    题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...

  3. HDU 2795 Billboard(区间求最大值的位置update的操作在query里做了)

    Billboard 通过这题,我知道了要活用线段树的思想,而不是拘泥于形式, 就比如这题 显然更新和查询放在一起很简单 但如果分开写 那么我觉得难度会大大增加 [题目链接]Billboard [题目类 ...

  4. POJ 3264 Balanced Lineup【线段树区间查询求最大值和最小值】

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 53703   Accepted: 25237 ...

  5. 九度oj 题目1046:求最大值

    题目1046:求最大值 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:11782 解决:4789 题目描述: 输入10个数,要求输出其中的最大值. 输入: 测试数据有多组,每组10个数. ...

  6. c# 任意多个数,求最大值

    c#  任意多个数,求最大值 使用parms: 正在研究中,如果有好的方案,可评论,共同进步,共同提高,谢谢!

  7. 【c语言】求最大值

    一.我个人觉得求最大值比较简单的一种方法(当然同时求最大值和最小值时稍微改改也能行) #include <stdio.h> int main(void) { int f, i, max; ...

  8. js求最大值最小值

    比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,代码如下: <html> <head> <meta charset=&qu ...

  9. java求最大值以及定义方法调用

    class ArrayDome { public static void main(String[] args) { int[] arr = {-12,-51,-12,-11}; int max = ...

随机推荐

  1. [IOI 1999] 花店橱窗布置

    [题目链接] https://www.luogu.org/problemnew/show/P1854v [算法] f[i][j]表示放了前i束花,第i束花放在第j个花瓶中,所能获得的最大美学值 由于要 ...

  2. NOIp2018之前打模板出现的问题汇总

    灵感来源是因为调试了一下午dij,就想把错误记下来 dij:结构体里的重载运算符不会写      结构体声明后要加引号     用于排序的结构体按照边长度排序 匈牙利:在dfs中的if语句中,要继续搜 ...

  3. 如何在maven项目中使用spring

    今天开始在maven项目下加入spring. 边学习边截图. 在这个过程中我新建了一个hellospring的项目.于是乎从这个项目出发开始研究如何在maven项目中使用spring.鉴于网上的学习资 ...

  4. Response.Redirect(),Server.Transfer(),Server.Execute()的区别与网站优化

    转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方 ...

  5. Git 学习笔记(二)

    看完了 Git 的介绍后,也是时候动手尝试一下了,不过我们需要先安装好它.它有许多种安装方式,主要分两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包,这里就不做赘述了. 配置 ...

  6. Centos7 minimal 系列之桥接模式联网(二)

    一.桥接模式联网 之前用NAT模式连接网络,Centos是可以上网,而且Centos可以ping通主机,但是主机ping不通虚拟机.后来发现Nat模式只能由内而外. 1.1设置虚拟机的网络适配器 1. ...

  7. innobackupex: Error: --decompress requires qpress

    数据库版本:5.6.16​系统版本:cenos 6.5​​通过percona-xtranbackup恢复数据库报错(软件版本:percona-xtrabackup-2.1.9-744.rhel6.x8 ...

  8. deploy springboot to tomcat

    1    在 Eclipse 中建立新的web项目[ABC],之后 转成Maven项目. 2   创建 class   Application 3  修改POM 4  修改web.xml 5  exp ...

  9. idea报错:Please, configure Web Facet first!

    https://blog.csdn.net/handsomepig123_/article/details/87257689  转载

  10. Simula-Virtual function

    Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the ...