#include "triples.h"
#include "bits/stdc++.h"
using namespace std;
set<vector<int>> pk;
void peak(int i, int j, int k, int a, int b, int c){
vector<int> t = {i,j,k}; sort(t.begin(), t.end());
vector<int> p = {abs(i-j), abs(j-k), abs(k-i)}, q = {a, b, c};
sort(p.begin(), p.end()); sort(q.begin(), q.end());
if (p[0] == q[0] && p[1] == q[1] && p[2] == q[2]){
pk.insert({t[0],t[1],t[2]});
}
}
long long count_triples(vector<int> H) {
int N = H.size();
int peaks = 0;
for (int i = 0; i < N; i++){
int v = H[i];
for (int j = 0; j < N - v; j++){
if (j == i || j + v == i) continue;
peak(i, j, j+v, v, H[j], H[j+v]);
}
if (i + v < N){
for (int j = 0; j < N; j++){
if (j == i || j == i+v) continue;
if (abs(i+v-j) == v) continue;
peak(i, j, i+v, v, H[j], H[i+v]);
}
}
if (i - v >= 0){
for (int j = 0; j < N; j++){
if (j == i || j == i-v) continue;
if (abs(j-i+v) == v) continue;
peak(i, j, i-v, v, H[j], H[i-v]);
}
}
}
return pk.size();
}
std::vector<int> construct_range(int M, int K) {
return {3, 1, 1, 2, 3, 3, 1, 1, 2, 3, 3, 1, 2, 1, 3, 3, 2, 1, 1, 3};
}
# | 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... |