Submission #1291572

#TimeUsernameProblemLanguageResultExecution timeMemory
1291572dosts서열 (APIO23_sequence)C++17
0 / 100
2094 ms15932 KiB
#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 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...