Submission #752207

# Submission time Handle Problem Language Result Execution time Memory
752207 2023-06-02T13:32:50 Z aryan12 Sequence (APIO23_sequence) C++17
28 / 100
2000 ms 8288 KB
#include "sequence.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 5e5 + 5;
int seg[N * 4];

void Build(int l, int r, int pos)
{
    seg[pos] = 0;
    if(l == r) return;
    int mid = (l + r) / 2;
    Build(l, mid, pos * 2);
    Build(mid + 1, r, pos * 2 + 1);
}

void Update(int l, int r, int pos, int qpos, int qval)
{
    seg[pos] += qval;
    if(l == r) return;
    int mid = (l + r) / 2;
    if(qpos <= mid)
    {
        Update(l, mid, pos * 2, qpos, qval);
    }
    else
    {
        Update(mid + 1, r, pos * 2 + 1, qpos, qval);
    }
}

int Query(int l, int r, int pos, int qval)
{
    if(l == r)
    {
        return seg[pos];
    }
    int mid = (l + r) / 2;
    if(seg[pos * 2] >= qval)
    {
        return Query(l, mid, pos * 2, qval);
    }
    else
    {
        return Query(mid + 1, r, pos * 2 + 1, qval - seg[pos * 2]);
    }
}

int sequence(int n, vector<int> a) 
{
    int ans = 0;
    for(int i = 0; i < n; i++)
    {
        Build(1, n, 1);
        for(int j = i; j < n; j++)
        {
            Update(1, n, 1, a[j], 1);
            int len = j - i + 1;
            int median = (len + 1) / 2;
            ans = max(ans, Query(1, n, 1, median));
            median = (len + 2) / 2;
            ans = max(ans, Query(1, n, 1, median));
        }
    }
    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 243 ms 280 KB Output is correct
14 Correct 224 ms 212 KB Output is correct
15 Correct 140 ms 312 KB Output is correct
16 Correct 160 ms 332 KB Output is correct
17 Correct 117 ms 316 KB Output is correct
18 Correct 248 ms 312 KB Output is correct
19 Correct 211 ms 320 KB Output is correct
20 Correct 205 ms 320 KB Output is correct
21 Correct 220 ms 328 KB Output is correct
22 Correct 220 ms 312 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Execution timed out 2058 ms 8288 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Execution timed out 2070 ms 8284 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2057 ms 8272 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 243 ms 280 KB Output is correct
14 Correct 224 ms 212 KB Output is correct
15 Correct 140 ms 312 KB Output is correct
16 Correct 160 ms 332 KB Output is correct
17 Correct 117 ms 316 KB Output is correct
18 Correct 248 ms 312 KB Output is correct
19 Correct 211 ms 320 KB Output is correct
20 Correct 205 ms 320 KB Output is correct
21 Correct 220 ms 328 KB Output is correct
22 Correct 220 ms 312 KB Output is correct
23 Execution timed out 2058 ms 1876 KB Time limit exceeded
24 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 243 ms 280 KB Output is correct
14 Correct 224 ms 212 KB Output is correct
15 Correct 140 ms 312 KB Output is correct
16 Correct 160 ms 332 KB Output is correct
17 Correct 117 ms 316 KB Output is correct
18 Correct 248 ms 312 KB Output is correct
19 Correct 211 ms 320 KB Output is correct
20 Correct 205 ms 320 KB Output is correct
21 Correct 220 ms 328 KB Output is correct
22 Correct 220 ms 312 KB Output is correct
23 Execution timed out 2058 ms 8288 KB Time limit exceeded
24 Halted 0 ms 0 KB -