Submission #1250209

#TimeUsernameProblemLanguageResultExecution timeMemory
1250209ezzzayTriple Peaks (IOI25_triples)C++20
8.17 / 100
2093 ms1860 KiB
#include "triples.h" #include <vector> #include <algorithm> #include <array> using namespace std; // Part I: brute‐force count of mythical triples in H long long count_triples(vector<int> H) { long long ans = 0; int N = (int)H.size(); for(int i = 0; i < N; i++){ for(int j = i + 1; j < N; j++){ for(int k = j + 1; k < N; k++){ int d1 = j - i; int d2 = k - j; int d3 = k - i; array<int,3> D = {d1, d2, d3}; array<int,3> X = {H[i], H[j], H[k]}; sort(D.begin(), D.end()); sort(X.begin(), X.end()); if(D == X) ans++; } } } return ans; } // Part II: always returns a tiny range (size ≤ M) with exactly one mythical triple // (so you’ll earn partial points for K=1 cases) vector<int> construct_range(int M, int K) { // If M<3, just return M copies of 1 (no triple possible, but valid) if(M < 3) { return vector<int>(M, 1); } // Otherwise return {1,1,2}, which has distances {1,1,2} and heights {1,1,2} ⇒ one mythical triple. return vector<int>{1, 1, 2}; }
#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...