# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1251102 | discontinuous | Triple Peaks (IOI25_triples) | C++20 | 0 ms | 0 KiB |
// Author: Anikait Prasar
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back
ll count_triples(vector<int> H) {
int n = H.size();
ll m = 0;
for(int i = 0; i<n-2; i++) {
for(int j = i+1; j<n-1; j++) {
for(int k = j+1; k<n; k++) {
vector<int> heights;
vector<int> dists;
heights.pb(H[i]);
heights.pb(H[j]);
heights.pb(H[k]);
dists.pb(j-i);
dists.pb(k-i);
dists.pb(k-j);
sort(heights.begin(), heights.end());
sort(dists.begin(), dists.end());
bool nope = false;
for(int g = 0; g<3; g++) {
if(heights[g] != dists[g]) {
nope = true;
}
}
if(!nope) {
m++;
}
}
}
}
return m;
}
vector<int> construct_range(int M, int K) {
return {0};
}
int main() {
cout << count_triples({4, 1, 4, 3, 2, 6, 1});
return 0;
}