QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#47054 | #4563. Radio Towers | zhoukangyang | Compile Error | / | / | C++11 | 1.1kb | 2022-09-03 16:27:00 | 2022-09-03 16:27:01 |
Judging History
你现在查看的是最新测评结果
- [2023-08-10 23:21:45]
- System Update: QOJ starts to keep a history of the judgings of all the submissions.
- [2022-09-03 16:27:01]
- 评测
- 测评结果:Compile Error
- 用时:0ms
- 内存:0kb
- [2022-09-03 16:27:00]
- 提交
answer
#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); ++i)
#define R(i, j, k) for(int i = (j); i >= (k); --i)
#define ll long long
#define vi vector < int >
#define sz(a) ((int) (a).size())
#define me(a, x) memset(a, x, sizeof(a))
using namespace std;
const int N = 1e6 + 7;
int n, a[N];
int d, ch[N][2], mn[N], ns;
void init(int xn, vi A) {
n = xn, mn[0] = 1e9;
L(i, 1, n) a[i] = A[i - 1];
}
void dfs(int x) {
mn[x] = a[x];
L(a, 0, 1) if(ch[x][a]) dfs(ch[x][a]), mn[x] = min(mn[x], mn[ch[x][a]]);
ns += max(mn[ch[x][0]], mn[ch[x][1]]) <= a[x] - d;
}
int stk[N], top;
int max_towers(int l, int r, int D) {
++l, ++r, d = D, top = 0;
L(i, 1, n) stk[i] = ch[i][0] = ch[i][1] = 0;
L(i, l, r) {
int las = top;
while(top && a[stk[top]] < a[i]) -- top;
if(top > 0) ch[stk[top]][1] = i;
if(top != las) ch[i][0] = stk[top + 1];
stk[++top] = i;
}
ns = 1;
dfs(stk[1]);
return ns;
}
int main() {
init(7, vi{10, 20, 60, 40, 50, 30, 70});
cout << max_towers(1, 5, 10) << '\n';
cout << max_towers(2, 2, 100) << '\n';
cout << max_towers(0, 6, 17) << '\n';
return 0;
}
詳細信息
/tmp/cc8l6b8A.o: In function `main': answer.code:(.text.startup+0x0): multiple definition of `main' /tmp/ccENQT31.o:implementer.cpp:(.text.startup+0x0): first defined here collect2: error: ld returned 1 exit status