| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1343002 | po_rag526 | Pilot (NOI19_pilot) | C++20 | 490 ms | 112524 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ii pair <int, int>
#define X fisrt
#define Y second
const int maxn = 1e6 + 5;
int n, q, a[maxn];
int par[maxn], sz[maxn];
long long ans = 0, res[maxn];
int root (int u) {
if (par[u] == 0) return u;
return par[u] = root(par[u]);
}
void Union (int u, int v) {
u = root(u), v = root(v);
if (u == v) return;
if (sz[u] < sz[v]) swap (u, v);
ans += 1ll * sz[u] * sz[v];
sz[u] += sz[v];
par[v] = u;
}
vector <int> queries[maxn], pos[maxn];
signed main () {
#define task "code"
if (fopen (task".inp", "r")) {
freopen (task".inp", "r", stdin);
freopen (task".out", "w", stdout);
}
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> q;
for (int i = 1, x; i <= n; i++) {
cin >> a[i];
pos[a[i]].push_back (i);
sz[i] = 1;
}
for (int i = 1, x; i <= q; i++) {
cin >> x;
queries[x].push_back (i);
}
for (int i = 1; i <= 1e6; i++) {
for (int p : pos[i]) {
ans++;
if (p > 1 && a[p - 1] <= i) {
Union (p, p - 1);
// cout << p << ' ' << p - 1 << '\n';
}
if (p < n && a[p + 1] <= i) {
Union (p, p + 1);
// cout << p << ' ' << p + 1 << '\n';
}
}
for (int id : queries[i])
res[id] = ans;
}
for (int i = 1; i <= q; i++)
cout << res[i] << '\n';
}
컴파일 시 표준 에러 (stderr) 메시지
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
