#include "triples.h"
#include <bits/stdc++.h>
using namespace std;
long long count_triples(vector<int> H) {
int N = H.size();
long long ans = 0;
int i, j, k;
for (j = 0; j < N; j++) {
// case 1
i = j - H[j];
if (i >= 0) {
k = i + H[i];
if (k < N && H[k] == k-j) ans += 1;
k = j + H[i];
if (k < N && H[k] == k-i) ans += 1;
}
// case 2
k = j + H[j];
if (k < N) {
i = k - H[k];
if (i >= 0 && H[i] == j-i) ans += 1;
i = j - H[k];
if (i >= 0 && H[i] == k-i) ans += 1;
}
}
// case 3-1
for (i = 0; i < N; i++) {
j = i + H[i];
if (j >= N) continue;
k = i + H[j];
if (k >= N) continue;
if (H[k] == k-j) ans += 1;
}
return ans;
}
vector<int> construct_range(int M, int K) {
int N = M;
vector<int> result(N);
for (int i = 0; i < N; i++) {
if (i % 2 == 0) result[i] = i+1;
else result[i] = N-i;
}
return result;
}
# | 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... |