#include "triples.h"
#include <vector>
using namespace std;
long long count_triples(std::vector<int> H) {
long long res = 0;
int n = H.size();
// 1) Brute-force với n ≤ 100
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;
}
// 2) Kiểm tra xem có phải giá trị đều ≤ 10 hay không
for (int x : H) {
if (x > 10) {
// chưa xử lý trường hợp chung lớn hơn 10
return 0;
}
}
// 3) Với mỗi cặp a<b sao cho c=a+b ≤ 10
for (int a = 1; a <= 10; a++) {
for (int b = a + 1; b <= 10; b++) {
int c = a + b;
if (c > 10) break;
// Duyệt i sao cho i+c < n
for (int i = 0; i + c < n; i++) {
if (H[i] != a)
continue;
if (H[i + c] != c)
continue;
// hai khả năng j = i+a hoặc j = i+b
if (H[i + a] == b)
res++;
if (H[i + b] == b)
res++;
}
}
}
return res;
}
std::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... |