社区讨论
单调栈30pts求助
P2866[USACO06NOV] Bad Hair Day S参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo7zuq9a
- 此快照首次捕获于
- 2023/10/27 10:28 2 年前
- 此快照最后确认于
- 2023/10/27 10:28 2 年前
CPP
#include<iostream>
#include<stack>
using namespace std;
stack<int> s;
int x,k,n,ans;
int main(){
cin>>n;
cin>>x;
s.push(x);
k=x;
//cout<<s.size()<<endl;
for(int i=2;i<=n;i++){
cin>>x;
if(x<k){
s.push(x);
k=x;
}
else if(x==k){
ans++;
continue;
}
else{
while(x>s.top()){
s.pop();
if(s.empty()){
s.push(x);
k=x;
goto akioi;
}
}
s.push(x);
k=x;
}
akioi:
ans+=(s.size()-1);
}
cout<<ans<<endl;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...