Submission #1254061

#TimeUsernameProblemLanguageResultExecution timeMemory
1254061vpinxTriple Peaks (IOI25_triples)C++20
14 / 100
2095 ms1984 KiB
#include "triples.h" #include <bits/stdc++.h> using namespace std; #define int long long int solve_subtask2(vector<int32_t> &h) { int n = h.size(), ans = 0; for (int i = 0; i < n - 2; i++) { for (int j = i + 1; j < min(i + 12, n - 1); j++) { for (int z = j + 1; z < min(j + 12, n); z++) { vector<int> v = {h[i], h[j], h[z]}; vector<int> d = {j - i, z - i, z - j}; sort(v.begin(), v.end()); sort(d.begin(), d.end()); if (v == d) ans++; } } } return ans; } int count_triples(vector<int32_t> h) { int n = h.size(); bool subtask2 = true; for (int i = 0; i < n; i++) { if (h[i] > 10) { subtask2 = false; break; } } if (subtask2) return solve_subtask2(h); int ans = 0; for (int i = 0; i < n - 2; i++) { for (int j = i + 1; j < n - 1; j++) { for (int z = j + 1; z < n; z++) { vector<int> v = {h[i], h[j], h[z]}; vector<int> d = {j - i, z - i, z - j}; sort(v.begin(), v.end()); sort(d.begin(), d.end()); if (v == d) ans++; } } } return ans; } vector<int32_t> construct_range(int32_t m, int32_t 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...