제출 #1253667

#제출 시각아이디문제언어결과실행 시간메모리
1253667TheScrasseTriple Peaks (IOI25_triples)C++20
18 / 100
2095 ms1864 KiB
#include <bits/stdc++.h> using namespace std; #define nl "\n" #define nf endl #define ll long long #define pb push_back #define _ << ' ' << #define INF (ll)1e18 #define mod 998244353 #define maxn 110 #include "triples.h" long long count_triples(std::vector<int> H) { // subtask 3 ll n = H.size(); auto match = [&](ll i, ll j, ll k) { if (k >= n) return false; if (i >= j || j >= k) return false; array<ll, 3> a = {j - i, k - j, k - i}; array<ll, 3> b = {H[i], H[j], H[k]}; sort(a.begin(), a.end()); sort(b.begin(), b.end()); return a == b; }; ll ans = 0; for (ll i = 0; i < n; i++) { for (ll j = i + 1; j < n; j++) { set<ll> st = {i + H[i], i + H[j], j + H[i], j + H[j]}; for (auto k : st) { ans += match(i, j, k); } } } return ans; } std::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...