Submission #1250060

#TimeUsernameProblemLanguageResultExecution timeMemory
1250060AliyyiakbarTriple Peaks (IOI25_triples)C++20
18 / 100
2095 ms1860 KiB
#include "triples.h" #include "bits/stdc++.h" using namespace std; bool is(vector<int> &h, int i, int j, int k) { if (j < i || k < i || k >= (int)h.size()) { return 0; } vector<int> d = {abs(i - j), abs(j - k), abs(k - i)}; vector<int> c = {h[i], h[j], h[k]}; sort(d.begin(), d.end()); sort(c.begin(), c.end()); return (d == c); } long long count_triples(vector<int> h) { int cnt = 0; for (int i = 0; i < (int)h.size(); ++i) { int j = i + h[i]; if (j < (int)h.size() && h[j] != h[i]) { if (i + h[j] != j + h[i]) { cnt += is(h, i, j, i + h[j]); } if (i + h[j] != j - h[j]) { cnt += is(h, i, j, j - h[j]); } cnt += is(h, i, j, j + h[j]); } for (j = i + 1; j + h[i] < (int)h.size(); ++j) { cnt += is(h, i, j, j + h[i]); } } return cnt; } 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...