#include "triples.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
int ans = 0;
int n;
void count1(vector<signed> &h){
for (int idx = 0; idx<n; idx++){
int x = h[idx];
int idh = idx - x;
if (idh < 0) continue;
int y = h[idh] - x;
if (y <= 0 || y==x) continue;
int idy = idx + y;
if (idy >= n) continue;
if (h[idy] == y) ans++;
}
}
void count2(vector<signed> &h){
for (int idx = 0; idx<n; idx++){
int x = h[idx];
int idy = idx + x;
if (idy >= n) continue;
int y = h[idy];
int idh = idx - y;
if (idh < 0) continue;
if (h[idh] == x + y) ans++;
}
}
void count3(vector<signed> &h){
for (int idx = 0; idx<n; idx++){
int x = h[idx];
int idh = idx + x;
if (idh >= n) continue;
int y = h[idh] - x;
if (y <= 0 || y==x) continue;
int idy = idh + y;
if (idy >= n) continue;
if (h[idy] == y) ans++;
}
}
void count4(vector<signed> &h){
return;
for (int idx = 0; idx<n; idx++){
for (int idy = idx; idy < n; idy++){
if (idy - idx != h[idx] + h[idy]) continue;
int idh = idx + h[idy];
if (idh >= n) continue;
if (h[idh] == h[idx] + h[idy]) ans++;
}
}
}
long long count_triples(std::vector<signed> h) {
n = h.size();
auto rh = h; reverse(rh.begin(), rh.end());
count1(h); count1(rh);
count2(h); count2(rh);
count3(h);
count4(h);
return ans;
}
std::vector<signed> construct_range(signed M, signed K) {
return {1, 1, 1};
}
# | 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... |