Submission #1258528

#TimeUsernameProblemLanguageResultExecution timeMemory
1258528SugarCubes69Triple Peaks (IOI25_triples)C++20
16.29 / 100
15 ms2488 KiB
//orz Dominater069 #include <bits/stdc++.h> using namespace std; typedef long long int ll; long long count_triples(std::vector<int> h) { ll ans = 0; ll N = h.size(); for(int i=0;i<N;i++){ int k = h[i]+i,j; if(k>=N) continue; //h[j] = j-i, h[k] = k-j j = k-h[k]; if(i<j && j<k && h[j]==j-i) ans++; //h[j] = k-j, h[k] = j-i j = h[k]+i; if(j==k-h[k]) continue; if(i<j && j<k && h[j]==k-j) ans++; } for(int k=0;k<N;k++){ int i = k-h[k],j; if(i<0) continue; //h[i] = j-i, h[j] = k-j j = i+h[i]; if(i<j && j<k && h[j]==k-j) ans++; //h[i] = k-j, h[j] = j-i j = k-h[i]; if(j==i+h[i]) continue; if(i<j && j<k && h[j]==j-i) ans++; } return ans; } std::vector<int> construct_range(int M, int K) { vector<int> res; res.push_back(1); for (int i = 1; i < M; i ++) res.push_back(i); return res; } /*void run_part1() { int N; assert(1 == scanf("%d", &N)); std::vector<int> H(N); for (int i = 0; i < N; i++) assert(1 == scanf("%d", &H[i])); fclose(stdin); long long T = count_triples(H); printf("%lld\n", T); fclose(stdout); } void run_part2() { int M, K; assert(2 == scanf("%d %d", &M, &K)); fclose(stdin); std::vector<int> H = construct_range(M, K); int N = H.size(); printf("%d\n", N); for (int i = 0; i < N; i++) printf("%d%c", H[i], " \n"[i + 1 == N]); fclose(stdout); } int main() { int part; assert(1 == scanf("%d", &part)); if (part == 1) run_part1(); else if (part == 2) run_part2(); return 0; }*/
#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...