提交记录 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;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1483.806 ms40 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-16 17:31:09 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠