Submission #1250396

#TimeUsernameProblemLanguageResultExecution timeMemory
1250396liamislazyTriple Peaks (IOI25_triples)C++20
0 / 100
2096 ms1860 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; //hi = k - i for (int i = 0; i < n; i++) { int k = i + H[i]; if (k < 0 || k >= n) continue; //H[k] == j - i int j1 = i + H[k]; if (j1 > i && j1 < k && j1 < n && H[j1] == k - j1) ans++; //H[k] == k - j int j2 = k - H[k]; if (j2 > i && j2 < k && j2 < n && H[j2] == j2 - i) ans++; } //hk = k - i for (int k = 0; k < n; k++) { int i = k - H[k]; if (i < 0 || i >= n) continue; //H[i] == j - i => j = i + H[i], check H[j] == k - j int j1 = i + H[i]; if (j1 > i && j1 < k && j1 < n && H[j1] == k - j1) ans++; //H[i] == k - j => j = k - H[i], check H[j] == j - i int j2 = k - H[i]; if (j2 > i && j2 < k && j2 < n && H[j2] == j2 - i) ans++; } //hj = k - i, hi = k - j, hk = j - i //H[i] - i = H[j] - j for (int j = 0; j < n; j++) { int c = H[j]; for (int a = 1; a < c; a++) { int i = j - a; int k = j + (c - a); if (i >= 0 && k < n) { int b = c - a; if ((H[i] == a && H[k] == b) || (H[i] == b && H[k] == a)) ans++; } } } return ans; } std::vector<int> construct_range(int M, int K) { return{}; }
#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...