Submission #1256710

#TimeUsernameProblemLanguageResultExecution timeMemory
1256710medmdgTriple Peaks (IOI25_triples)C++20
0 / 100
13 ms2628 KiB
#include "triples.h" #include <bits/stdc++.h> typedef long long ll; using namespace std; vector<int> H; ll n; bool check(ll i,ll j,ll k){ if(i<0||j<0||k<0||i>=n||j>=n||k>=n)return 0; vector<ll> s1,s2; s1.push_back(abs(j-i)); s1.push_back(abs(k-i)); s1.push_back(abs(j-k)); sort(s1.begin(),s1.end()); if(s1[0]==0)return 0; s2.push_back(H[i]); s2.push_back(H[j]); s2.push_back(H[k]); sort(s2.begin(),s2.end()); return s1==s2; } ll sub4(){ ll ans=0; for(int i=n-1;i>1;i--){ ll x2=i-H[i]; ll x3=x2+H[x2],x4=i-H[x2]; if(i-x3==H[x3])ans++; if(x3!=x4) if(x4-x2==H[x4])ans++; } return ans; } ll sub2(){ return 0; } ll sub3(){ return 0; } ll count_triples(vector<int> h) { n=H.size(); H=h; return sub4(); if(n<2001)return sub3(); else return sub2(); } 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...