#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<queue>
#define LL long long
using namespace std;
LL n,s[],a[];
bool vis[];
LL read()
{
LL x=,f=;
char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
struct data
{
LL id,s1,p;
bool operator<(const data &b)const
{
if(p!=b.p) return p<b.p;
return s1>b.s1;
}
};
priority_queue<data> q1;
priority_queue<data> q2;
int main()
{
n=read();
for(int i=;i<=n;i++) s[i]=read();
for(int i=;i<=n;i++) a[i]=read();
for(int i=;i<=n;i++) q1.push((data){i,s[i],*s[i]+a[i]});
LL maxnow=,maxnow2=;
LL ans=;
for(int i=;i<=n;i++)
{
data now=(data){,,};
if(!q1.empty())
{
now=q1.top();
q1.pop();
while(now.s1<=maxnow&&!q1.empty()){now=q1.top();q1.pop();}
if(now.s1>maxnow&&q1.empty())now=(data){,,};
else now.p-=*maxnow;
}
data now2=(data){,,};
if(!q2.empty()){now2=q2.top();q2.pop();}
if(now.p<now2.p) now.p=now2.p;
ans+=now.p;
vis[now.id]=;
if(now.s1>maxnow)
{
maxnow=now.s1;
for(++maxnow2;maxnow2<=n&&s[maxnow2]<=maxnow;maxnow2++)
{
if(!vis[maxnow2])
q2.push((data){maxnow2,s[maxnow2],a[maxnow2]});
}
}
printf("%I64d\n",ans);
}
return ;
}

NOIP201504推销员的更多相关文章

  1. 【水题】NOIP201504推销员

    NOIP201504推销员 [问题描述]   阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 ...

  2. [NOIP2015]推销员

    [NOIP2015]推销员 试题描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 i 家住 ...

  3. 销售 >> 当今社会生产力最大的源泉为 >>自助服务 与推销员随之消失

    销售可能是变化最大的企业职能.比如,经济学家喜欢提出陷阱问题“什么概念或者想法成为当今社会生产力最大的源泉?” 大多数人回答计算机,  正确的回答是自助服务与推销员随之消失               ...

  4. Codevs 5126 推销员 2015年NOIP全国联赛普及组

    5126 推销员 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死 ...

  5. NOIP2015普及组第四题推销员

    好久没有写博客了,今天再写一篇.还是先看题: 试题描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家 ...

  6. 【NOIP2015普及组】推销员_详解

    题目 题目大意 阿明是一名推销员--螺丝街是一条直线,一端有入口,一共有 \(N(<100,000)\) 家住户,第 \(i\) 家住户到入口的距离为 \(S_i\) 米.由于同一栋房子里可以有 ...

  7. 洛谷 P2672 推销员 解题报告

    P2672 推销员 题目描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有N家住户,第i家住户到入口的距离为 ...

  8. NOIP2015普及组T4推销员(暴力+线段树)

    题目:阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有N家住户,第i家住户到入口的距离为Si米.由于同一栋房子里 ...

  9. 【贪心 堆】luoguP2672 推销员

    堆维护,贪心做法 题目描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有N家住户,第i家住户到入口的距离为S ...

随机推荐

  1. C++是怎么实现多态性的

    C++是怎么实现多态性的,C++中多态实现的原理, 当一个类中有虚函数时,系统会为该类构造一个虚函数表vtable,他是一个指针数组,存放每个虚函数的入口地址,编译器还会在此类中隐含插入一个指针vpt ...

  2. Collection Views and Building Custom Layouts-备

    UICollectionView的结构回顾 首先回顾一下Collection View的构成,我们能看到的有三个部分: Cells Supplementary Views 追加视图 (类似Header ...

  3. 一次java程序的重构

    // com口操作类 package xyz.game; class ComOpera { public void openPort() throws Exception {...} // 打开com ...

  4. 转:VC中WORD,DWORD,unsigned long,unsigned short的区别(转)

    typedef unsigned long       DWORD;typedef int                 BOOL;typedef unsigned char       BYTE; ...

  5. Oracle 序列(sequence)

    序列是Oracle特有的,他可以维护一个自增的数字序列,通常从1开始增长,但可以设置. (1)创建序列: increment (2)使用序列: insert into student(sno,name ...

  6. 一句话输出NGINX日志访问IP前十位排行

    AWK的数组字段自增加,然后取值的方法,要记得哟. 还有,SORT指定列排行,也常用的.

  7. MFC新婚之夜(笑昏,大概是指MFC的人固步自封)

    请问学会MFC都要学些什么呢?DOC-VIEW,OLE,UI线程,泵,钩,还是堆,栈内存分配与回收的机制?还是那些各种各样的CHAR,还是__cdecl, __stdcall,PASCAL等等,或者编 ...

  8. nginx对比haproxy 的反向代理

    -bash-4.1# ip add | grep inet inet 172.17.0.7/16 scope global eth0 inet6 fe80::42:acff:fe11:7/64 sco ...

  9. css属性之box-shadow

    box-shadow 属性向框添加一个或多个阴影. <!DOCTYPE html> <html> <head> <style> div { width: ...

  10. BZOJ3390: [Usaco2004 Dec]Bad Cowtractors牛的报复

    3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 43  Solved:  ...