#include "triples.h"
#include <vector>
#include <algorithm>
using namespace std;
long long count_triples(vector<int> H) {
int n = H.size();
long long res = 0;
if (n <= 100) {
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
for (int k = j + 1; k < n; k++) {
vector<int> height = {H[i], H[j], H[k]};
vector<int> dist = {j - i, k - i, k - j};
sort(height.begin(), height.end());
sort(dist.begin(), dist.end());
if (height == dist) res++;
}
return res;
}
bool small_value = true;
for (int h : H)
if (h > 10) {
small_value = false;
break;
}
if (small_value) {
// Gộp toàn bộ mảng thành cặp (index, height)
vector<pair<int, int>> info;
for (int i = 0; i < n; ++i) {
info.push_back({i, H[i]});
}
// Chỉ xét các bộ ba index (i < j < k)
for (int i = 0; i < n; ++i)
for (int j = i + 1; j < min(n, i + 11); ++j)
for (int k = j + 1; k < min(n, i + 22); ++k) {
vector<int> h = {H[i], H[j], H[k]};
if (*max_element(h.begin(), h.end()) > 10) continue;
vector<int> d = {j - i, k - i, k - j};
sort(h.begin(), h.end());
sort(d.begin(), d.end());
if (h == d) res++;
}
return res;
}
return 0;
}
vector<int> construct_range(int M, int K) {
return {1, 1, 2};
}
# | 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... |