#include "sequence.h"
#include <vector>
#include <unordered_map>
#include <set>
#include <iostream>
#include <algorithm>
using namespace std;
int sequence(int N, vector<int> A) {
int maxOccurrences = 0;
// Iterate over each possible starting point of the subarray
for (int l = 0; l < N; ++l) {
unordered_map<int, int> freq;
multiset<int> minHeap, maxHeap;
for (int r = l; r < N; ++r) {
int num = A[r];
if (maxHeap.empty() || num <= *maxHeap.rbegin()) {
maxHeap.insert(num);
} else {
minHeap.insert(num);
}
if (maxHeap.size() > minHeap.size() + 1) {
minHeap.insert(*maxHeap.rbegin());
maxHeap.erase(--maxHeap.end());
} else if (minHeap.size() > maxHeap.size()) {
maxHeap.insert(*minHeap.begin());
minHeap.erase(minHeap.begin());
}
freq[num]++;
int median1 = *maxHeap.rbegin();
int median2 = (maxHeap.size() + minHeap.size()) % 2 == 0 ? *minHeap.begin() : median1;
maxOccurrences = max(maxOccurrences, freq[median1]);
if (median1 != median2) {
maxOccurrences = max(maxOccurrences, freq[median2]);
}
}
}
return maxOccurrences;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Correct |
1 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Correct |
1 ms |
348 KB |
Output is correct |
13 |
Correct |
424 ms |
604 KB |
Output is correct |
14 |
Correct |
418 ms |
848 KB |
Output is correct |
15 |
Correct |
254 ms |
520 KB |
Output is correct |
16 |
Correct |
250 ms |
520 KB |
Output is correct |
17 |
Correct |
253 ms |
348 KB |
Output is correct |
18 |
Correct |
336 ms |
604 KB |
Output is correct |
19 |
Correct |
413 ms |
828 KB |
Output is correct |
20 |
Correct |
447 ms |
596 KB |
Output is correct |
21 |
Correct |
431 ms |
576 KB |
Output is correct |
22 |
Correct |
409 ms |
588 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Execution timed out |
2061 ms |
40380 KB |
Time limit exceeded |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |
2 |
Execution timed out |
2057 ms |
27740 KB |
Time limit exceeded |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2035 ms |
49140 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Correct |
1 ms |
348 KB |
Output is correct |
13 |
Correct |
424 ms |
604 KB |
Output is correct |
14 |
Correct |
418 ms |
848 KB |
Output is correct |
15 |
Correct |
254 ms |
520 KB |
Output is correct |
16 |
Correct |
250 ms |
520 KB |
Output is correct |
17 |
Correct |
253 ms |
348 KB |
Output is correct |
18 |
Correct |
336 ms |
604 KB |
Output is correct |
19 |
Correct |
413 ms |
828 KB |
Output is correct |
20 |
Correct |
447 ms |
596 KB |
Output is correct |
21 |
Correct |
431 ms |
576 KB |
Output is correct |
22 |
Correct |
409 ms |
588 KB |
Output is correct |
23 |
Execution timed out |
2055 ms |
7072 KB |
Time limit exceeded |
24 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Correct |
1 ms |
348 KB |
Output is correct |
13 |
Correct |
424 ms |
604 KB |
Output is correct |
14 |
Correct |
418 ms |
848 KB |
Output is correct |
15 |
Correct |
254 ms |
520 KB |
Output is correct |
16 |
Correct |
250 ms |
520 KB |
Output is correct |
17 |
Correct |
253 ms |
348 KB |
Output is correct |
18 |
Correct |
336 ms |
604 KB |
Output is correct |
19 |
Correct |
413 ms |
828 KB |
Output is correct |
20 |
Correct |
447 ms |
596 KB |
Output is correct |
21 |
Correct |
431 ms |
576 KB |
Output is correct |
22 |
Correct |
409 ms |
588 KB |
Output is correct |
23 |
Execution timed out |
2061 ms |
40380 KB |
Time limit exceeded |
24 |
Halted |
0 ms |
0 KB |
- |