好痛苦,,,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. IIS GZip

    优点:提高网页响应速度(静态压缩会占用一定的存储空间,但是速度快,而动态压缩不占用存储空间,但是占用CPU时间,而且压缩比不恒定.) 缺点:动态压缩会影响CPU性能. win7:设置: iis管理器- ...

  2. No.23

    腓利比书3:19:"他们的结局就是沉沦,他们的神就是自己的肚腹,他们以自己的羞辱为荣耀,专以地上的事为念". 谨记!

  3. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  4. 整理文件,翻出了以前作的ps稿 (^o^)c旦``

    稍稍会那么一点PS,小意思   

  5. ORA-00257:archiver error解决办法

    出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决. (一).oralce 11g更改归 ...

  6. git 命令熟悉

    1. git clone +ssh 地址=将远程代码download 到本地:要在根目录执行这个操作 2.查看所有分支:git branch -a (当前分支前带星号) 3.切换到某个分支:git c ...

  7. .net测试学习--理解.net测试选项

    1.创建基于测试简单应用程序 (1)启动visual studio(有安装c#的) (2)  选择File|New project (3)创建一个C# project,名字和保存路径自己设定,假设取名 ...

  8. 【Django】--基础知识

    一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. Web应 ...

  9. Eclipse Java注释模板设置详解

    设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元 ...

  10. Unity Cookie

    1   在Unity里面,选择脚本单击左键打开 Sync Mono Development  这样就可以打开整个工程的脚本文件 进而才能在脚本中继续进行切换      Mesh    MeshFilt ...