Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
142797 谢思涵 音乐会 C++ 通过 100 89 MS 4076 KB 753 2024-04-09 21:35:33

Tests(10/10):


#include <iostream> #define ll long long using namespace std; ll st[500100]; int main() { ll top = 1, ans = 0, n; cin >> n >> st[1]; for(ll i = 2; i <= n; i++) { ll a; cin >> a; if(st[top] > a) { top++; ans++; st[top] = a; } else { ll l = 1, r = top; while(l < r) { ll mid = (l + r) / 2; if(r == l + 1) mid = r; if(a >= st[mid]) r = mid - 1; else l = mid; } ans += top - l + 1; while(top > 0 && st[top] < a) top--; st[++top] = a; } } cout << ans << endl; return 0; }


测评信息: