# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1261901 | Canuc80k | Triple Peaks (IOI25_triples) | C++20 | 2092 ms | 1968 KiB |
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
map<ll, ll> pp[11];
long long count_triples(std::vector<int> H) {
ll res = 0;
// #TH: a[k] max
for (int k = 2; k < H.size(); k ++) {
int i = k - H[k]; if (i < 0 || H[i] >= H[k]) continue; int j1 = k - H[i], j2 = i + H[i];
if (j1 < 0 || H[j1] >= H[k] || H[j1] != j1 - i) j1 = -1;
if (j2 >= H.size() || H[j2] >= H[k] || H[j2] != k - j2) j2 = -1;
res += (j1 != -1) + (j2 != -1 && j2 != j1);
}
// #TH: a[i] max
for (int i = 0; i + 2 < H.size(); i ++) {
int k = i + H[i]; if (k >= H.size() || H[k] >= H[i]) continue; int j1 = k - H[i], j2 = i + H[i];
if (j1 < 0 || H[j1] >= H[i] || H[j1] != j1 - i) j1 = -1;
if (j2 >= H.size() || H[j2] >= H[i] || H[j2] != k - j2) j2 = -1;
res += (j1 != -1) + (j2 != -1 && j2 != j1);
}
// #TH: a[j] max, j - i = a[i]
for (int i = 0; i + 2 < H.size(); i ++) {
int j = i + H[i]; if (j >= H.size() || H[j] <= H[i]) continue; int k = i + H[j];
if (k >= H.size() || H[k] >= H[j]) k = -1;
res += (k != -1);
}
// #TH: a[j] max, j - i = a[k]
for (int i = 0; i + 2 < H.size(); i ++) {
for (int k = 2; k < H.size(); k ++) {
int j = i + H[k]; if (j != k - H[i] || j >= H.size()) continue;
if (H[i] >= H[j] || H[j] <= H[k]) continue;
res ++;
}
}
return res;
}
std::vector<int> construct_range(int M, int K) {
// vector<int> res; res.push_back(1);
// for (int i = 1; i < M; i ++) res.push_back(i);
// return res;
}
Compilation message (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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |