社区讨论
思路清晰,码风良好,wa了,求调
P2866[USACO06NOV] Bad Hair Day S参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mj5b4ch7
- 此快照首次捕获于
- 2025/12/14 13:51 3 个月前
- 此快照最后确认于
- 2025/12/16 23:20 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=3*1e6+5;
int a[N],ans[N];
stack<int> s;
int main(){
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
while(!s.empty()&&a[i]>a[s.top()]){
ans[s.top()]=i;
s.pop();
}
s.push(i);
}
for(int i=1;i<=n;i++){
if(ans[i]==0) continue;
sum+=ans[i]-i-1;
}
cout<<sum;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...