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. Python通过fork的方式防止僵尸进程

    import subprocess import os import sys import platform def fock_new(func): def inner(*args, **kwargs ...

  2. 007-sql整体概述

    一.概述 sql基础:数据库.数据表.行.列.关系 查询: Select 字段1,字段2,* from 表 where 条件 去除重复:Distinct 必须放在所有列前面 区间语句:BETWEEN ...

  3. 交叉熵(Cross-Entropy) [转载]

    交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词.在这篇文章里将对这个概念进行详细的分析. 1.什么是信息量? 假设X是一个离散型随机变量,其取值集合为X,概率分布函数为 ...

  4. python的分布式爬虫框架

    scrapy + celery: Scrapy原生不支持js渲染,需要单独下载[scrapy-splash](GitHub - scrapy-plugins/scrapy-splash: Scrapy ...

  5. vim插件快捷键

    @1:winmanager: #1:打开winmanager的快捷键在.vimrc中配置,默认为":WMToggle",使用nmap可以将其映射到其他的命令. #2:netrw快捷 ...

  6. java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]

    Links: 1.Getting availableProcessors is already set to [1], rejecting [1] IllegalStateException exce ...

  7. vimium的使用介绍和基本用法

    vimium是chrome浏览器的一个插件,fq去chrome应用商店搜索vimium,下载安装 纯键盘操作,脱离了鼠标,提高效率 核心是f,安装好vimium后只需要按f,输入对应的编号就能进入相应 ...

  8. win10 chrome 调试

      下载NPAPI版本的flash player: http://www.adobe.com/support/flashplayer/debug_downloads.html#fp13       禁 ...

  9. 希望and目标

    软件工程是一门枯燥的课程,这门课我不喜欢上,容易犯困,但就因为如此.我不得不好好的学习,我希望在这门课上.我能将基础学扎实,在实践上可以自己慢慢研究,我的目标不是很远大,学好.学扎实..在这门课上一周 ...

  10. 异常:Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

    异常:Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} ...