Submission #1256607

#TimeUsernameProblemLanguageResultExecution timeMemory
1256607jamesbamberTriple Peaks (IOI25_triples)C++20
24 / 100
2096 ms1968 KiB
#include "triples.h" #include <algorithm> #include <iostream> using namespace std; using ll = long long; long long count_triples(std::vector<int> H) { int N = H.size(); ll ct = 0; auto check_triple = [&](int i, int j, int k) -> void { if(i < 0 or i >= N or j < 0 or j >= N or k < 0 or k >= N or i == j or i == k or j == k) return; if(H[i] <= H[j] or H[i] <= H[k]) return; //check that i is the tallest // cerr << i << " " << j << " " << k << endl; vector<int> ids = {H[i], H[j], H[k]}; vector<int> diffs = {abs(i-j), abs(i-k), abs(j-k)}; sort(ids.begin(), ids.end()); sort(diffs.begin(), diffs.end()); if(ids == diffs) ct++; }; for(int i=0; i<N; i++) { // max non al centro if(i - H[i] >= 0) { int j = i - H[i]; check_triple(i, j, j + H[j]); if(i - H[j] != j + H[j]) check_triple(i, j, i - H[j]); } if(i + H[i] < N) { int j = i + H[i]; check_triple(i, j, j - H[j]); if(i + H[j] != j - H[j]) check_triple(i, j, i + H[j]); } // max al centro for(int j=i-H[i]+1; j<i; j++){ check_triple(i, j, j+H[i]); } } return ct; } std::vector<int> construct_range(int M, int K) { return {1, 1, 1}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...