(其实这题是luogu P1901 发射站 原题,而且数据范围还比luogu小)

题目描述

LYK有n个小伙伴。每个小伙伴有一个身高hi。

这个游戏是这样的,LYK生活的环境是以身高为美的环境,因此在这里的每个人都羡慕比自己身高高的人,而每个人都有一个属性ai表示它对身高的羡慕值。

这n个小伙伴站成一列,我们用hi来表示它的身高,用ai来表示它的财富。

每个人向它的两边望去,在左边找到一个最近的比自己高的人,然后将ai朵玫瑰给那个人,在右边也找到一个最近的比自己高的人,再将ai朵玫瑰给那个人。当然如果没有比自己身高高的人就不需要赠送别人玫瑰了。也就是说一个人会给0,1,2个人玫瑰(这取决于两边是否有比自己高的人)。

每个人都会得到若干朵玫瑰(可能是0朵),LYK想知道得了最多的玫瑰的那个人得了多少玫瑰。(然后嫁给他>3<)

输入输出格式

输入格式:

第一行一个数n表示有n个人。

接下来n行,每行两个数hi,ai。

输出格式:

一个数表示答案。

输入输出样例

输入样例#1:

3
4 7
3 5
6 10
输出样例#1:

12

样例解释
第一个人会收到5朵玫瑰,第二个没人送他玫瑰,第三个人会收到12朵玫瑰。

说明

对于50%的数据n<=1000,hi<=1000000000。

对于另外20%的数据n<=50000,hi<=10。

对于100%的数据1<=n<=50000,1<=hi<=1000000000。1<=ai<=10000。

 /*
维护正反两个单调栈,一个从1~n,表示向左传,一个从n~1,表示向右传
如果栈顶的人比当前的人低,则将当前人弹出来,直到栈为空或找到一个比当前人高的人
当前人后边的人如果往当前方向传,一定会被高的那个人收到,
如果当前的人比栈顶高,则送出的花会被当前人收到,栈中比当前人低的人是一定不会收到后边人的鲜花的,所以将其弹出
如果当前的人比栈顶低,则当前人送出的花会被栈顶的人收到,然后将当前人弹入栈顶,因为当前人后边的人可能比当前的人低
*/
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<stack>
#include<queue>
#define N 50005
using namespace std; int n;
int h,p;
int maxn=-;
int pos[N];
int high[N],power[N];
int ans[N];
stack<int> a; void add(int p)
{
while(!a.empty()&&high[a.top()]<=high[p])
{
a.pop();
}
if(!a.empty())
{
ans[a.top()]+=power[p];
}
a.push(p);
} void init()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d%d",&high[i],&power[i]);
}
} void work()
{
for(int i=;i<=n;i++)
{
add(i);
}
while(!a.empty())
{
a.pop();
}
for(int i=n;i>=;i--)
{
add(i);
}
for(int i=;i<=n;i++)
{
if(maxn<ans[i])
{
maxn=ans[i];
}
}
printf("%d",maxn);
} int main()
{
freopen("treasure.in","r",stdin);
freopen("treasure.out","w",stdout);
init();
work();
fclose(stdin);
fclose(stdout);
return ;
}

2017.10.4 国庆清北 D4T1 财富的更多相关文章

  1. 2017.10.1 国庆清北 D1T1 zhx的字符串题

    题目背景 2017国庆清北D1T1 题目描述 你是能看到第一题的 friends 呢. ——hja 何大爷对字符串十分有研究,于是天天出字符串题虐杀 zhx.何大爷今天为 字符串定义了新的权值计算方法 ...

  2. 2017.10.4 国庆清北 D4T2 正方形

    题目描述 在一个10000*10000的二维平面上,有n颗糖果. LYK喜欢吃糖果!并且它给自己立了规定,一定要吃其中的至少C颗糖果! 事与愿违,LYK只被允许圈出一个正方形,它只能吃在正方形里面的糖 ...

  3. 2017.10.6 国庆清北 D6T2 同余方程组

    题目描述 求关于x 的同余方程组 x%a1 = b1 x%a2 = b2 x%a3 = b3 x%a4 = b4 的大于等于0 的最小整数解. 输入输出格式 输入格式: 一行8 个整数,表示a1; b ...

  4. 2017.10.6 国庆清北 D6T1 排序

    题目描述 小Z 有一个数字序列a1; a2; .... ; an,长度为n,小Z 只有一个操作:选 定p(1<p<n),然后把ap 从序列中拿出,然后再插⼊到序列中任意位置. 比如a 序列 ...

  5. 2017.10.3 国庆清北 D3T3 解迷游戏

    题目描述 LYK进了一家古董店,它很想买其中的一幅画.但它带的钱不够买这幅画. 幸运的是,老板正在研究一个问题,他表示如果LYK能帮他解出这个问题的话,就把这幅画送给它. 老板有一个n*m的矩阵,他想 ...

  6. 2017.10.3 国庆清北 D3T2 公交车

    题目描述 LYK在玩一个游戏. 有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点. LYK想让小怪兽们尽可能的到达自己想 ...

  7. 2017.10.3 国庆清北 D3T1 括号序列

    题目描述 LYK有一个括号序列,但这个序列不一定合法. 一个合法的括号序列如下: ()是合法的括号序列. 若A是合法的括号序列,则(A)是合法的括号序列. 若A和B分别是合法的括号序列,则AB是合法的 ...

  8. 2017.10.7 国庆清北 D7T1 计数

    题目描述 给出m个数a[1],a[2],…,a[m] 求1~n中有多少数不是a[1],a[2],…,a[m]的倍数. 输入输出格式 输入格式: 输入文件名为count.in. 第一行,包含两个整数:n ...

  9. 2017.10.5 国庆清北 D5T1 拼不出的数

    题目描述 3 个元素的集合{5,1,2}的所有子集的和分别是0,1,2,3,5,6,7,8.发现最小的不能由该集合子集拼出的数字是4. 现在给你一个n个元素的集合,问你最小的不能由该集合子集拼出的数字 ...

随机推荐

  1. TypeScript之函数

    1.函数声明 与javascript一样,ts的函数声明也分为两种:函数声明,函数表达式 1)函数声明: function fn(age:number):string{ return `age is ...

  2. CF449E Jzzhu and Squares

    题目大意:有一个$n\times m$的方格图,求其中所有的格点正方形完整包含的小方格个数,多组询问.$n,m\leqslant 10^6$ 题解:令$n\leqslant m$.有一个显然的式子:$ ...

  3. [高清] Java编程思想第四版完整中文高清版

    ------ 郑重声明 --------- 资源来自网络,纯粹共享交流, 如果喜欢,请您务必支持正版!! --------------------------------------------- 下 ...

  4. bat批处理删除多少天前的文件

    @echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例需要Win2003/Vist ...

  5. js 使用 "use strict"

    "use strict"是JavaScript中一个非常好的特性,而且非常容易使用. 使用方法 // file.js "use strict" function ...

  6. MongoDB 4.2.1 安装失败,提示 verify that you have sufficient privileges to start system services 解决

    官网下载地址:https://www.mongodb.com/download-center/community 问题: 解决:直接安装在根目录 测试:

  7. java web编程 servlet读取配置文件参数

    新建一个servlet. 然后在web.xml文件里面自动帮助你创建好了<servlet-name><servlet-class><servlet-mapping> ...

  8. Vue 文档Demo01

    Vue 1. Vue 基础 1. 声明式渲染 1. v-bind <!DOCTYPE html> <html> <head> <meta charset=&q ...

  9. python3+django+mysql

    django 连接mysql默认驱动是MySQLdb,MySQLdb没有支持python3的版本,如果使用python3.x版本时,django连接mysql的方法 1.使用pymysql替换MySQ ...

  10. c# Dictionary<K,V>