# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1251727 | LouaiZahran | Triple Peaks (IOI25_triples) | C++20 | 0 ms | 0 KiB |
#include "triples.h"
#include <algorithm>
long long count_triples(std::vector<int> H) {
long long ans = 0;
int n = H.size();
for(int i=0; i<n; i++){
for(int j=i+1; j<i+11; j++){
for(int k=j+1; k<min(j+11, n); k++){
int dij = j - i, djk = k - j, dik = k - i;
if(H[i] == dij && ((H[j] == djk && H[k] == dik) || (H[k] == djk && H[j] == dik)))
ans++;
else if(H[j] == dij && ((H[i] == djk && H[k] == dik) || (H[k] == djk && H[i] == dik)))
ans++;
else if(H[k] == dij && ((H[i] == djk && H[j] == dik) || (H[j] == djk && H[i] == dik)))
ans++;
}
}
}
return ans;
}
std::vector<int> construct_range(int M, int K) {
return {1, 1, 1};
}