#include "sequence.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;
signed sequence(signed N, std::vector<signed> A) {
int ans = 0;
vi plus(N+1,0),minus(N+1,0),many(N+1,0);
auto get =[&](const vi& pref,int l,int r) {
return pref[r]-pref[l-1];
};
for (int v = 1;v <= N;v++) {
for (int i = 1;i<=N;i++) {
minus[i] = minus[i-1],plus[i]= plus[i-1],many[i] = many[i-1];
if (A[i-1] < v) minus[i]++;
if (A[i-1] > v) plus[i]++;
if (A[i-1] == v) many[i]++;
}
for (int l = 1;l<=N;l++) {
for (int r = l;r<=N;r++) {
if (get(plus,l,r)-get(minus,l,r) == 0) ans = max(ans,get(many,l,r));
}
}
}
return ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |