Submission #1260367

#TimeUsernameProblemLanguageResultExecution timeMemory
1260367alexddTriple Peaks (IOI25_triples)C++20
0 / 100
2091 ms7340 KiB
#include "triples.h" #include<bits/stdc++.h> using namespace std; int n; long long rez = 0; map<tuple<int,int,int>,int> mp; vector<int> h; void add(int i, int j, int k) { if(i >= j || j >= k) return; //if(h[j] >= max(h[i],h[k])) return;///caz special---------------------------------------------- vector<int> v1 = {j-i,k-j,k-i}; vector<int> v2 = {h[i],h[j],h[k]}; sort(v1.begin(),v1.end()); sort(v2.begin(),v2.end()); //if(min(j-i, k-j) == min({h[i],h[j],h[k]}) && k-i == max({h[i],h[j],h[k]}) && h[i] + h[j] + h[k] == 2 * max({h[i],h[j],h[k]})) if(v1 == v2) { if(mp[{i,j,k}] == 0) rez++; mp[{i,j,k}] = 1; } } long long count_triples(std::vector<int> H) { h = H; n = h.size(); for(int j=0;j<n;j++) { if(j - h[j] >= 0) add(j - h[j], j, (j - h[j]) + h[j - h[j]]); if(j - h[j] >= 0) add(j - h[j], j, j + h[j - h[j]]); if(j + h[j] < n) add(j - h[j + h[j]], j, j + h[j]); if(j + h[j] < n) add((j + h[j]) - h[j + h[j]], j, j + h[j]); } for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) for(int k=j+1;k<n;k++) add(i,j,k); return rez; } 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...