好痛苦,,,WA了不知道多少遍

错的服了,,,

如果某员工的初始工资低于工资下界,他将立刻离开公司

我也不知道是我语文有问题还是题目有毒,反正这个东西好像不应该算在离开公司的总人数的答案里。。。

让我一个人静静。。。。

 #include <cstdio>
using namespace std;
int son[][],father[],size[],val[],cnt[],n,i,now,min,x,y,rt,top,ans,m;
char ch[];
void newnode(int &x,int fa,int data){
x=++top;
father[x]=fa;
val[x]=data;
size[top]=;
son[x][]=son[x][]=;
}
void rot(int x,int k){
int y=father[x];
son[y][!k]=son[x][k];
father[son[x][k]]=y;
father[x]=father[y];
son[father[y]][son[father[y]][]==y]=x;
son[x][k]=y;
father[y]=x;
size[x]=size[y];
size[y]=size[son[y][]]+size[son[y][]]+;
}
void rots(int x,int g){
while((y=father[x])!=g){
if(father[father[x]]==g) rot(x,son[father[x]][] == x);
else
{
int y=father[x],z=father[y],f=(son[z][]==y);
if(son[y][f]==x)rot(x,!f);else rot(y,f);
rot(x,f);
}
}
if(!g) rt=x;
}
void ins(int a){
int x=rt;
if (!rt){
rt=++top;val[rt]=a;
son[rt][]=son[rt][]=;
size[rt]=;
}
else{
while(son[x][val[x]<a]) {size[x]++;x=son[x][val[x]<a];}
size[x]++;
newnode(son[x][val[x]<a],x,a);
rots(son[x][val[x]<a],);
}
}
void del(int a,int x,int fa){
if (!x)return;
if (val[x]<a){
if (x==rt) rt=son[x][];
father[son[x][]]=fa;
son[fa][x==son[fa][]]=son[x][];
del(a,son[x][],fa);
now+=size[son[x][]]+;ans+=size[son[x][]]+;
}else {del(a,son[x][],x);}
size[x]=size[x]-now;
}
int find(int k,int x){
if(k<=size[son[x][]])return find(k,son[x][]);
if(k==size[son[x][]]+)return val[x]-min+m;
return find(k-size[son[x][]]-,son[x][]);
}
int main(){
scanf("%d%d",&n,&m);
for (i=;i<=n;i++){
scanf("%s%d",&ch,&x);
if (ch[]=='I')if (x>=m)ins(x-m+min);
if (ch[]=='A')min-=x;
if (ch[]=='S'){min+=x;now=;del(min,rt,);}
if (ch[]=='F')if (x>size[rt]) printf("-1\n");else printf("%d\n",find(size[rt]-x+,rt));
}
printf("%d\n",ans);
}

被卡题意的感觉爽翻了。。。

bzoj1503郁闷的出(cheng)纳(xu)员的更多相关文章

  1. [No000033]码农网-如何锻炼出最牛程序员的编码套路

    最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Practicing Programming"(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反 ...

  2. bzoj1503 郁闷的出纳员

    Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经 ...

  3. [BZOJ1503]郁闷的出纳员(Splay)

    Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常 ...

  4. BZOJ1503——郁闷的出纳员

    1.题目大意:一道treap题,支持插入,询问第K大,还有全体修改+上一个值,如果某个点值小于x,那么就删除这个点 插入100000次,询问100000次,修改100次..最后输出删了多少个点 2.分 ...

  5. bzoj1503 郁闷的出纳员 splay版

    自己yy的写法 可能有点奇怪吧 详情看代码 还是蛮短的 #include<cstdio> #include<cstring> #include<algorithm> ...

  6. bzoj1503 郁闷的出纳员(平衡树,思维)

    题目大意: 现在有n个操作和一个最低限度m \(I\)命令\(I\ k\)新建一个工资档案,初始工资为k. \(A\)命令$A\ k $把每位员工的工资加上k \(S\)命令$S\ k $把每位员工的 ...

  7. C++程序员如何转Java

     C++程序员如何转Java 忙里偷闲,到了这个时间终于得空写一篇早想写的文章.其实本文的标题有些不太准确,C++程序员写Java代码不是说就非得转行写Java,抛弃C++,而只是多了一个选择而已.两 ...

  8. 关于CPU Cache -- 程序员需要知道的那些事

    本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识.本章从"为什么会有CPU Cache","CPU Cache的大致设计架构",&q ...

  9. 《Hey程序员 你适合加入创业公司吗?》再补充

    笔者经过多年的走访发现,不是所有优秀的程序员都能在创业公司如鱼得水.根据笔者的经验,具备下面几点优秀品质的程序员会更容易适应创业公司的环境. 1.娴熟的调试技巧可以说,程序员的大部分时间都花在调试程序 ...

随机推荐

  1. phpcurl类

    1.需求 了解curl的基本get和post用法 2.例子 <?php class Curl{ private $timeout=30; public function set_timeout( ...

  2. 《Linux常用命令》笔记

    ① ifconfig 查看IP状态; ② ls 查看当前路径文件信息,参数: -l 查看文件的详细信息与ll效果一样; -a 查看文件的全部信息; ③ man 查询当前指令的信息,查询可用字母q退出; ...

  3. ElasticSearch详解与优化设计

    简介 概念 安装部署 ES安装 数据索引 索引优化 内存优化 1简介 ElasticSearch(简称ES)是一个分布式.Restful的搜索及分析服务器,设计用于分布式计算:能够达到实时搜索,稳定, ...

  4. redis lua

    需求是在缓存最近一周内用户所有消息列表,考虑用Redis 存储:为每个存储一个独立Sorted Set,value 为消息体,Score 为MessageId,用以实现增量消息同步. 问题就来了:So ...

  5. Can I Win

    In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...

  6. doT.js学习

    doT.js特点是快,小,无依赖其他插件.但是一般和jquery一起使用 官网:http://olado.github.io 使用方法:{{= }} for interpolation{{ }} fo ...

  7. .net WebApi开发

    1].部署环境.net4及以上版本. [2].vs2010  开发需单独安装vs2010 sp1和mvc4 mvc4:http://www.asp.net/mvc/mvc4 或者 http://dow ...

  8. Ajax文件上传

  9. 第一次使用UML的感觉

    刚开始接触的时候,其实我内心是拒绝的,因为感觉这种软件之前接触过,觉得就是相当于思维导图那种的. 可当自己使用的时候,觉得大纲总体上是类似是规划方向的,可是细节却让人深思,用什么图标,特别是用什么线, ...

  10. U盘安装centos7 无法进入安装界面,进入dracut命令的解决办法。

    最近想要装一个centos7 玩一玩,就从网上下了个镜像,用UltraISO制作了安装U盘,准备在旧电脑上装一个. 结果始终无法进入安装界面,而是进入了dracut命令行. 从网上找了解决方法: