Submission #978087

#TimeUsernameProblemLanguageResultExecution timeMemory
978087AybakSequence (APIO23_sequence)C++17
11 / 100
2057 ms7712 KiB
#include <vector> #include <iostream> #include <cstring> int Count(int* arr, int len, int var) { int out = 0; for (int i = 0; i < len; ++i) { if (arr[i] == var) { ++out; } } return out; } int getMedianCount(int* arr, int len, int* sortedArrH) { memcpy(sortedArrH, arr, len * sizeof(int)); std::qsort(sortedArrH, len, sizeof(int), [](const void* x, const void* y) { if (*(int*)x > *(int*)y) return 1; return 0; }); if (len % 2 == 1) { return Count(sortedArrH, len, sortedArrH[len / 2]); } else { int M1 = Count(sortedArrH, len, sortedArrH[len / 2]); int M2 = Count(sortedArrH, len, sortedArrH[len / 2 - 1]); return std::max(M1, M2); } } int sequence(int N, std::vector<int> A) { int* arr = A.data(); int* sortedArrH = new int[N]; int LM = 0; for (int i = 0; i < N; ++i) { for (int j = i + 1; j < N + 1; ++j) { // array is i include j exclude int LMH = getMedianCount(&arr[i], j - i, sortedArrH); if (LMH > LM) { LM = LMH; } } } delete[] sortedArrH; return LM; }
#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...