1008: Envy

时间限制: 1 Sec  内存限制: 128 MB
提交: 288  解决: 61
[提交][状态][讨论版]

题目描述

今年的 ACM 比赛推出了一个赛后的娱乐活动,所有参赛选手排成一排玩击鼓传花,关于击鼓传花的玩法是这样的: 
 
数人或几十人围成圆圈坐下,其中一人拿花(或一小物件);另有一人背着大家或蒙眼击鼓(桌子、黑板或其他能发出声音的物体),鼓响时众人开始依次传花,至鼓停止为止。此时花在谁手中(或其座位前),谁就上台表演节目(多是唱歌、跳舞、说笑话;或回答问题、猜谜、按纸条规定行事等);偶然如果花在两人手中,则两人可通过猜拳或其它方式决定负者。 
击鼓传花是一种老少皆宜的游戏。胡锦 涛总书记 2012 儿童节前夕考察少年宫时就曾与小朋友玩击鼓传花。 当然,就和大多数的 ACM 题面的套路一样,我们上面也说了一段废话,下面我们来说一下正题...... 
 
我们让 N 个人站成一排,编号为 1~N,每个人都有一个数字代表他这次比赛的成绩,对于每个人,如果他后面(编号大于他的人中)存在一个人的成绩大于等于他,那么他的嫉妒值为他们之间的距离。两个点 a和 b 之间的距离为 abs(a - b)。例如:{4,3,6,2},那么第 1 个人对第 3 个人有 2 点嫉妒值;第 2 个人对第 3 个人有 1 点嫉妒值,最大嫉妒值为 2。 

输入

第 1 行:1 个整数 N,代表这里有 N 个人(2 <= N <= 50000)。 
接下来的 N 行:每行一个数 Ai(1 <= Ai <= 10^9),  表示第 i 个人的比赛成绩。 

输出

输出最大嫉妒值。 

样例输入

4
4
3
6
2

样例输出

2

提示

有多种解法,待整理,

最小前缀,双指针写法,

 #include <bits/stdc++.h>
using namespace std; const int MAXN = 1e5 + ; int a[MAXN];
int b[MAXN]; int main()
{
int n;
int i, j;
int ans; while (~scanf("%d", &n)) {
scanf("%d", &a[]);
b[] = a[];
for (i = ; i < n; ++i) {
scanf("%d", &a[i]);
b[i] = min(b[i - ], a[i]);
} ans = ;
j = n - ;
for (i = n - ; i >= ; --i) {
while (b[i] > a[j]) {
--j;
}
if (a[i] <= a[j]) {
ans = max(ans, j - i);
}
}
printf("%d\n", ans);
} return ;
}

1008 Envy(好题¥)的更多相关文章

  1. POJ 1008 简单模拟题

    e.... 虽然这是一道灰常简单的模拟题.但是米做的时候没有读懂第二个日历的计时方法.然后捏.敲完之后华丽的WA了进一个点.坑点就在一年的最后一天你是该输出本年的.e ...但是我好想并没有..看di ...

  2. hdu 刷题记录

    1007 最近点对问题,采用分治法策略搞定 #include<iostream> #include<cmath> #include<algorithm> using ...

  3. acm刷题序列

    POJ推荐50题 著名的北邮acm训练队推荐50题 https://blog.csdn.net/bat67/article/details/71735012 都是poj上的题 1000:会教会你如何使 ...

  4. 2013 ACM/ICPC Asia Regional Online —— Warmup

    1003 Rotation Lock Puzzle 找出每一圈中的最大值即可 代码如下: #include<iostream> #include<stdio.h> #inclu ...

  5. PAT甲级目录

    树(23) 备注 1004 Counting Leaves   1020 Tree Traversals   1043 Is It a Binary Search Tree 判断BST,BST的性质 ...

  6. BZOJ day8

    好吧,, 补一天题解. 1001  狼抓兔子 妥妥的网络流啊,难度仅次于草地排水,边都给出来了.就是注意反向边也要有流量就行. 1007 水平可见直线 这个题按斜率排序(注意不是绝对值),然后将直线入 ...

  7. Emergency Evacuation 题解

    The Japanese government plans to increase the number of inbound tourists to forty million in the yea ...

  8. poj 1008:Maya Calendar(模拟题,玛雅日历转换)

    Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 D ...

  9. PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)

    1008. Airline Routes (35) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue Given a ...

随机推荐

  1. 父标签浮动(float)“塌陷”问题

    浮动“塌陷” float参见: http://www.cnblogs.com/bigtreei/p/8110090.html http://www.w3school.com.cn/css/css_po ...

  2. 【转】Python 30个实用小Tips

    1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x, y = 10, 20 print(x, y) x, y = y, x print ...

  3. Django~表的操作

    增(create  ,  save) from app01.models import *   #create方式一:   Author.objects.create(name='Alvin')    ...

  4. vlc做转发的命令

    from:http://blog.csdn.net/linyuejiang/article/details/7498482 将一个udp的多播流转发复制到http流中去 vlc udp://@239. ...

  5. Vimium~让您的Chrome起飞

    工欲善其事,必先利其器!撸起Vimium,我的Chrome就这么起飞了. 学起(了解几个快捷键即可)And撸起Vimium,想黑客一般在Chrome上飞起.Vimium常用快捷键(注:区分大小写)j, ...

  6. ZOJ 3959 Problem Preparation 【水】

    题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3959 AC代码 #include <cstdio> ...

  7. 版本控制系统Subversion

    系统提供撤销的功能对我们实际开发中特别重要.改动后撤销几乎也是我们每个人经常做的事情.再多人进行同一个项目的开发或者测试的时候,版本的唯一性(类似于临界区资源),也就是说A 和B 两个人协同工作的时候 ...

  8. Linux yum源码包安装和卸载

    Linux 下的绝大多数源码包都是用 C 语言编写的,还有少部分是用 C++ 等其他程序语言编写的.所以,要想安装源码包,必须安装 C 语言编译器 gcc(如果是用 C++ 编写的程序,则还需要安装 ...

  9. 跨平台移动开发_Android 平台使用 PhoneGap 方法

    PhoneGap  下载地址http://phonegap.com/install/    1.打开 Eclipse,在文件菜单下面点击 创建> Android Application Proj ...

  10. 20145230《Java程序设计》第5周学习总结

    20145230 <Java程序设计>第5周学习总结 教材学习内容 本周主要学习的内容是关于异常处理的,感觉这部分内容对我们这种初学者 来说非常重要.举个例子,倘若你在编写一个Java程序 ...