分数史上新低
开场5分钟过了A题,想着这次赌一把手速,先去切C吧
看完C题觉得这应该是道水题,码了十分钟提交,WA
想着这明明是道水题,估计少考虑了情况,添了几行再交,WA
不可能啊,这题都A不掉,和SB有什么区别
(开始半小时后)A不掉啊,要不去做别的题吧,啊不行,不能对不起我写了这么久的代码,继续debug
(开始一小时后)心态崩了,辣鸡比赛我不玩了。关了CF跑去写了半道主席树
(倒数半小时)反正要掉分,今天和这C题死磕吧
(结束看题解)结论:我和SB有什么区别
(第二天写BDE题)卧槽这么简单我为什么看都没看,我和SB有什么区别*3
A. Snacktower
要搭一座数字下面大上面小的树塔,但数字出现的顺序不定。
每个时刻拿到一个数字,不能堆到塔上就扔到堆里,能就建塔
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<queue> 6 using namespace std; 7 const int mxn=100010; 8 int read(){ 9 int x=0,f=1;char ch=getchar(); 10 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 11 while(ch>='0' && ch<='9'){x=x*10-'0'+ch;ch=getchar();} 12 return x*f; 13 } 14 priority_queue<int>q; 15 bool f[mxn]; 16 int main(){ 17 int i,j,x; 18 int n=read(); 19 f[n+1]=1; 20 for(i=1;i<=n;i++){ 21 x=read(); 22 q.push(x); 23 while(!q.empty() && f[q.top()+1]){ 24 f[q.top()]=1; 25 printf("%d ",q.top()); 26 q.pop(); 27 } 28 printf("\n"); 29 } 30 return 0; 31 }