1008 Envy(好题¥)
1008: Envy
时间限制: 1 Sec 内存限制: 128 MB
提交: 288 解决: 61
[提交][状态][讨论版]
题目描述
数人或几十人围成圆圈坐下,其中一人拿花(或一小物件);另有一人背着大家或蒙眼击鼓(桌子、黑板或其他能发出声音的物体),鼓响时众人开始依次传花,至鼓停止为止。此时花在谁手中(或其座位前),谁就上台表演节目(多是唱歌、跳舞、说笑话;或回答问题、猜谜、按纸条规定行事等);偶然如果花在两人手中,则两人可通过猜拳或其它方式决定负者。
击鼓传花是一种老少皆宜的游戏。胡锦 涛总书记 2012 儿童节前夕考察少年宫时就曾与小朋友玩击鼓传花。 当然,就和大多数的 ACM 题面的套路一样,我们上面也说了一段废话,下面我们来说一下正题......
我们让 N 个人站成一排,编号为 1~N,每个人都有一个数字代表他这次比赛的成绩,对于每个人,如果他后面(编号大于他的人中)存在一个人的成绩大于等于他,那么他的嫉妒值为他们之间的距离。两个点 a和 b 之间的距离为 abs(a - b)。例如:{4,3,6,2},那么第 1 个人对第 3 个人有 2 点嫉妒值;第 2 个人对第 3 个人有 1 点嫉妒值,最大嫉妒值为 2。
输入
接下来的 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(好题¥)的更多相关文章
- POJ 1008 简单模拟题
e.... 虽然这是一道灰常简单的模拟题.但是米做的时候没有读懂第二个日历的计时方法.然后捏.敲完之后华丽的WA了进一个点.坑点就在一年的最后一天你是该输出本年的.e ...但是我好想并没有..看di ...
- hdu 刷题记录
1007 最近点对问题,采用分治法策略搞定 #include<iostream> #include<cmath> #include<algorithm> using ...
- acm刷题序列
POJ推荐50题 著名的北邮acm训练队推荐50题 https://blog.csdn.net/bat67/article/details/71735012 都是poj上的题 1000:会教会你如何使 ...
- 2013 ACM/ICPC Asia Regional Online —— Warmup
1003 Rotation Lock Puzzle 找出每一圈中的最大值即可 代码如下: #include<iostream> #include<stdio.h> #inclu ...
- PAT甲级目录
树(23) 备注 1004 Counting Leaves 1020 Tree Traversals 1043 Is It a Binary Search Tree 判断BST,BST的性质 ...
- BZOJ day8
好吧,, 补一天题解. 1001 狼抓兔子 妥妥的网络流啊,难度仅次于草地排水,边都给出来了.就是注意反向边也要有流量就行. 1007 水平可见直线 这个题按斜率排序(注意不是绝对值),然后将直线入 ...
- Emergency Evacuation 题解
The Japanese government plans to increase the number of inbound tourists to forty million in the yea ...
- poj 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- PAT (Top Level) Practise 1008 Airline Routes(Tarjan模版题)
1008. Airline Routes (35) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue Given a ...
随机推荐
- echarts系列之动态加载数据
1.echarts学习前言 最近接触到echarts,发现数据可视化真的是魅力无穷啊,各种变幻的曲线交错,以及‘曼妙’的动画效果真是让人如痴如醉! 下面就来一起欣赏她的美... “ ECharts是中 ...
- Json模块的详细介绍(序列化)
什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到的方法就是存在文件里,然 ...
- PAT 1002. A+B for Polynomials (25)
This time, you are supposed to find A+B where A and B are two polynomials. Input Each input file con ...
- SpringBoot入门1—简介及helloworld
Spring Boot简介 Spring Boot让我们的Spring应用变的更轻量化.比如:你可以仅仅依靠一个Java类来运行一个Spring引用.你也可以打包你的应用为jar并通过使用java - ...
- [转] CentOS---网络配置详解
原文地址: http://blog.chinaunix.net/uid-26495963-id-3230810.html 一.配置文件详解在RHEL或者CentOS等Redhat系的Linux系统里, ...
- outlook 设置分类收邮件
打开outlook,工具---->“规则和通知”.建相应的规则即可.
- LeetCode:至少是其他数字两倍的最大数【747】
LeetCode:至少是其他数字两倍的最大数[747] 题目描述 在一个给定的数组nums中,总是存在一个最大元素 . 查找数组中的最大元素是否至少是数组中每个其他数字的两倍. 如果是,则返回最大元素 ...
- Spring session共享(使用redis)
SpringBoot+Redis实现HttpSession共享 前提:需要使用redis做session存储 一.效果演练(这里使用SpringBoot工程,Spring同理) 1.一个工程使用两个端 ...
- [转载]OpenWRT使用wifidog实现强制认证的WIFI热点 | 半个橙子
首先安装wifidog到OpenWRT的路由器: opkg update opkg install wifidog wifidog依赖下面这些模块: iptables-mod-extra iptabl ...
- Hearbeat + Nginx 安装配置
Hearbeat + Nginx 安装配置 实验环境 两台主机:Linux Centos 6.5 32位 主 服务端:Hearbeat + Nginx eth0:192.168.1.160(公网) e ...