이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include "sequence.h"
using namespace std;
#define X first
#define Y second
#define pb push_back
#define vt vector
#define f0r(i,a,b) for(auto i =(a); i != (b); i++)
#define r0f(i,a,b) for(auto i =(a); i >= (b); i--)
#define all(x) (x).begin(), (x).end()
#define sz(x) ((int)(x).size())
using pii = pair<int,int>;
// sim dor ris eni(x) rge range dud debug 2eni 2dor
#define sim template< class c
#define dor > debug& operator<<
#define ris return *this
#define eni(x) sim> typename \
enable_if<sizeof dud<c>(0) x 1, debug&>::type operator<<(c i)
sim> struct rge { c b,e; };
sim> rge<c> range(c i, c j) {
return rge<c>{i,j};
}
sim> auto dud(c *x)->decltype(cout << *x, 0);
sim> char dud(...);
struct debug {
~debug() { cerr << endl; }
eni(!=) { cerr << boolalpha << i; ris; }
eni(==) { ris << range(all(i)); }
sim, class b dor(pair<b,c> d) {
ris << "(" << d.X << ", " << d.Y << ")";
}
sim dor(rge<c> d) {
*this << "{";
f0r(i,d.b,d.e) *this << ", "+2*(i==d.b) << *i;
ris << "}";
}
};
#define imie(r...) " [" << #r << ": " << (r) << "] "
struct median {
priority_queue<int> a;
priority_queue<int, vt<int>, greater<int>> b;
void ins(int k) {
a.push(k);
int have = sz(a)+sz(b);
while(sz(a) > have/2) {
b.push(a.top());
a.pop();
}
while(sz(b) > have/2) {
a.push(b.top());
b.pop();
}
}
pii get() {
assert(sz(a));
int have = sz(a) + sz(b);
if(have % 2) return {a.top(), a.top()};
else return {a.top(), b.top()};
}
};
int sequence(int n, vt<int> ar) {
map<int,int> freq;
int res = 0;
f0r(l,0,n) {
median ds;
freq.clear();
f0r(r,l,n) {
freq[ar[r]]++;
ds.ins(ar[r]);
pii hmm = ds.get();
res = max({res, freq[hmm.X], freq[hmm.Y]});
}
}
return res;
}
# | 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... |