Submission #1251015

#TimeUsernameProblemLanguageResultExecution timeMemory
1251015JoksimKaktusTriple Peaks (IOI25_triples)C++20
18 / 100
2098 ms48924 KiB
#include "triples.h" #include <bits/stdc++.h> using namespace std; bool check(vector<int> a,vector<int> b){ sort(a.begin(), a.end()); sort(b.begin(), b.end()); for(int i = 0;i < 3;i++){ if(a[i] != b[i])return false; } return true; } //(v[a] != v[b] && v[a] != v[c] && v[b] != v[c]) long long count_triples(vector<int> v) { set<set<int>> s; long long res = 0; int n = v.size(); for(int a = 0;a < n;a++){ int b = a + v[a]; int c = b + v[b]; if(c < n && b < n){ bool good = check({abs(a-b),abs(a-c),abs(b-c)},{v[a],v[b],v[c]}); if(good && !s.count({a,b,c})){ s.insert({a,b,c}); res++; } } c = b - v[b]; if(c >= 0 && c != a && b < n){ bool good = check({abs(a-b),abs(a-c),abs(b-c)},{v[a],v[b],v[c]}); if(good && !s.count({a,b,c})){ s.insert({a,b,c}); res++; } } c = a + v[b]; if(c < n && c != b && b < n){ bool good = check({abs(a-b),abs(a-c),abs(b-c)},{v[a],v[b],v[c]}); if(good && !s.count({a,b,c})){ s.insert({a,b,c}); res++; } } c = a- v[b]; if(c >= 0 && b < n){ bool good = check({abs(a-b),abs(a-c),abs(b-c)},{v[a],v[b],v[c]}); if(good && !s.count({a,b,c})){ s.insert({a,b,c}); res++; } } for(b = 0;b < n-v[a];b++){ c = b + v[a]; if(c != a){ bool good = check({abs(a-b),abs(a-c),abs(b-c)},{v[a],v[b],v[c]}); if(good && !s.count({a,b,c})){ s.insert({a,b,c}); res++; } } } } return res; } 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...