Submission #1302210

#TimeUsernameProblemLanguageResultExecution timeMemory
1302210Valaki2Triple Peaks (IOI25_triples)C++20
11 / 100
28 ms3496 KiB
#include "triples.h" #include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define mp make_pair #define pii pair<int, int> #define fi first #define se second int n; vector<int> v; bool good(int a, int b, int c) { if(a < 1 || a > n || b < 1 || b > n || c < 1 || c > n) { return false; } vector<int> v1 = {abs(a - b), abs(a - c), abs(b - c)}; vector<int> v2 = {v[a], v[b], v[c]}; sort(v1.begin(), v1.end()); sort(v2.begin(), v2.end()); return (v1 == v2); } int count_triples(vector<signed> H) { n = H.size(); v.assign(1 + n + 1, 0); for(int i = 1; i <= n; i++) { v[i] = H[i - 1]; } int cnt = 0; for(int i = 1; i <= n; i++) { int j = i - v[i]; if(j < 1) { continue; } int k1 = j + v[j]; int k2 = i - v[j]; if(good(i, j, k1)) { cnt++; } if(k1 != k2) { if(good(i, j, k2)) { cnt++; } } } return cnt; } vector<signed> construct_range(signed M, signed 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...