Submission #1250590

#TimeUsernameProblemLanguageResultExecution timeMemory
1250590liamislazyTriple Peaks (IOI25_triples)C++20
15.13 / 100
2095 ms2488 KiB
#include "triples.h" #include <bits/stdc++.h> #define el '\n' typedef long long llo; #define fn(i,a,b) for (int i = a; i <= b; i++) #define rn(i,a,b) for (int i = a; i >= b; i--) using namespace std; llo count_triples(vector<int> H) { int n = H.size(); llo ans = 0; fn(j,0,n-1) { fn(a,1,j) { int i = j - a; if(i < 0) break; int max_b = n - 1 - j; fn(b,1,max_b) { int k = j + b; if(k >= n) break; vector<int> d = {a, b, a + b}; vector<int> h = {H[i], H[j], H[k]}; sort(d.begin(), d.end()); sort(h.begin(), h.end()); if(d == h) ans++; } } } return ans; } vector<int> construct_range(int M, int K) { llo n = M; vector<int> a = {1,2,1}; llo tmp = 2; while(a.size() < n){ llo v = a.size() + 1; fn(i,0,tmp+1) a.push_back(v-i); tmp = v; } while(a.size() > n || a.back() >= n) a.pop_back(); return a; }
#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...