Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
141825 mairuisheng 音乐会 C++ 通过 100 107 MS 260 KB 1090 2024-04-06 11:30:20

Tests(10/10):


#include<bits/stdc++.h> using namespace std; stack<long long>stk; stack<long long>num; int n; long long ans,tmp; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>tmp; while(!stk.empty() && stk.top() < tmp) { stk.pop(); ans += num.top(); num.pop(); } if(stk.empty()) { stk.push(tmp); num.push(1); } else { if(tmp != stk.top()) { ans+=1; stk.push(tmp); num.push(1); } else if(stk.size() == 1) { ans+=num.top(); int u = num.top(); num.pop(); num.push(u+1); } else { ans += num.top(); int u = num.top(); num.pop(); ans += 1; num.push(u+1); } } } printf("%lld\n",ans); return 0; }


测评信息: