Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
180460 C班-范浩宇 音乐会 C++ 通过 100 148 MS 4084 KB 829 2024-08-21 13:44:39

Tests(10/10):


#include <bits/stdc++.h> using namespace std; long long st[500010], n, top = 1, m; long long ans; int main() { cin >> n; long long a; cin >> st[1]; for (long long i = 2; i <= n; i++) { cin >> a; if (st[top] > a) { top++, ans++, st[top] = a; } else { long long l = 1, r = top; while (l < r) { m = (l + r) >> 1; if (r == l + 1) m = r; if (a >= st[m]) r = m - 1; else l = m; } ans += top - l + 1; while (top > 0 && st[top] < a) top--; st[++top] = a; } } cout << ans << endl; }


测评信息: