提交记录 17954
| 用户 |
题目 |
状态 |
得分 |
用时 |
内存 |
语言 |
代码长度 |
| RBTree |
test. 自定义测试 |
Accepted |
100 |
483.806 ms |
40 KB |
C++11 |
849 B |
| 提交时间 |
评测时间 |
| 2022-08-15 12:22:43 |
2023-09-03 19:42:15 |
#pragma GCC optimize("Ofast")
#include <iostream>
#include <stack>
using namespace std;
using tp = long long;
class Gen {
unsigned nxt;
public:
Gen(unsigned _seed) : nxt(_seed) {}
int get() { return nxt = nxt * 1103515245 + 12345; }
} gen(0);
struct SNode {
tp val, id;
SNode() = default;
SNode(tp _val, tp _id) : val(_val), id(_id) {}
};
stack<SNode> s;
void add(tp val) {
static tp cnt = 0;
s.emplace(val, cnt++);
}
void add() {
add(gen.get());
}
signed main() {
tp n = 50000000, sum = 0, sed = 114514;
gen = Gen(sed);
add();
for (tp i = 1; i < n; ++i) {
tp val = gen.get();
++sum;
if (s.size() && val > s.top().val) {
s.pop();
while (s.size() && val > s.top().val) {
++sum;
s.pop();
}
sum += !s.empty();
}
add(val);
}
cout << sum;
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 483.806 ms | 40 KB | Accepted | Score: 100 | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2026-03-16 17:31:09 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠