Submission #2711038
Source Code Expand
#include <bits/stdc++.h> #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define FORR(i,a,b) for (int i=(a);i>=(b);i--) #define pb push_back #define pcnt __builtin_popcount #define show(x) cout<<#x<<" = "<<x<<endl; #define maxs(x,y) x = max(x,y) #define mins(x,y) x = min(x,y) #define fi first #define se second #define rng(a) (a.begin()),(a.end()) #define each(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++) #define sz(x) (int)(x).size() #define mp make_pair using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pii> vpii; typedef set<int> si; typedef pair<ll,ll> pll; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<pll> vpll; typedef set<ll> sl; typedef __int128_t lll; typedef pair<lll,lll> plll; typedef vector<lll> vlll; template<typename T>string join(vector<T>&v) {stringstream s;FOR(i,0,sz(v))s<<' '<<v[i];return s.str().substr(1);} template<typename A, size_t N, typename T>void Fill(A (&array)[N], const T&v) {fill((T*)array,(T*)(array+N),v);} template<typename T> T gcd(T a,T b){if(a>b)swap(a,b);for(;a>0;b%=a,swap(a,b));return b;} ll modpow(lll a,lll n,ll m){if(a==0)return a;lll p=1;for(;n>0;n/=2,a=a*a%m)if(n&1)p=p*a%m;return(ll)p;} void dout(double d){printf("%.12f\n",d);} const int iinf = 1e9; const ll linf = 1e18; const int mod = 1e9+7; const double pi = acos(-1); const double eps = 1e-10; int n, k, q, a[2005]; vi v, vv; bool b[2005]; map<int, vi> m; main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> n >> k >> q; FOR(i, 0, n){ cin >> a[i]; if(m.find(a[i]) == m.end()) m[a[i]] = vi(); m[a[i]].pb(i); } b[n] = true; int ans = iinf; each(itr, m){ v.resize(0); vv.resize(0); int c = 0; FOR(i, 0, n+1){ if(b[i]){ if(i - c >= k){ sort(rng(vv)); FOR(j, 0, i-c-k+1) v.pb(vv[j]); } vv.resize(0); c = i+1; }else{ vv.pb(a[i]); } } if(sz(v) < q) break; sort(rng(v)); if(v[0] == itr->fi) mins(ans, v[q-1] - itr->fi); each(itrr, itr->se) b[*itrr] = true; } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Range Minimum Queries |
User | char134217728 |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 2250 Byte |
Status | AC |
Exec Time | 86 ms |
Memory | 512 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask_1_01.txt | AC | 1 ms | 256 KB |
subtask_1_02.txt | AC | 1 ms | 256 KB |
subtask_1_03.txt | AC | 34 ms | 512 KB |
subtask_1_04.txt | AC | 2 ms | 256 KB |
subtask_1_05.txt | AC | 1 ms | 256 KB |
subtask_1_06.txt | AC | 2 ms | 384 KB |
subtask_1_07.txt | AC | 22 ms | 512 KB |
subtask_1_08.txt | AC | 2 ms | 512 KB |
subtask_1_09.txt | AC | 14 ms | 384 KB |
subtask_1_10.txt | AC | 1 ms | 256 KB |
subtask_1_11.txt | AC | 8 ms | 512 KB |
subtask_1_12.txt | AC | 82 ms | 512 KB |
subtask_1_13.txt | AC | 34 ms | 512 KB |
subtask_1_14.txt | AC | 7 ms | 512 KB |
subtask_1_15.txt | AC | 20 ms | 512 KB |
subtask_1_16.txt | AC | 2 ms | 512 KB |
subtask_1_17.txt | AC | 20 ms | 512 KB |
subtask_1_18.txt | AC | 84 ms | 512 KB |
subtask_1_19.txt | AC | 86 ms | 512 KB |
subtask_1_20.txt | AC | 58 ms | 512 KB |
subtask_1_21.txt | AC | 82 ms | 512 KB |
subtask_1_22.txt | AC | 2 ms | 512 KB |
subtask_1_23.txt | AC | 16 ms | 384 KB |
subtask_1_24.txt | AC | 30 ms | 384 KB |
subtask_1_25.txt | AC | 8 ms | 384 KB |
subtask_1_26.txt | AC | 8 ms | 384 KB |
subtask_1_27.txt | AC | 3 ms | 384 KB |
subtask_1_28.txt | AC | 2 ms | 384 KB |
subtask_1_29.txt | AC | 26 ms | 512 KB |
subtask_1_30.txt | AC | 1 ms | 256 KB |
subtask_1_31.txt | AC | 8 ms | 512 KB |
subtask_1_32.txt | AC | 17 ms | 512 KB |
subtask_1_33.txt | AC | 2 ms | 512 KB |
subtask_1_34.txt | AC | 2 ms | 512 KB |
subtask_1_35.txt | AC | 3 ms | 512 KB |
subtask_1_36.txt | AC | 2 ms | 512 KB |
subtask_1_37.txt | AC | 13 ms | 512 KB |
subtask_1_38.txt | AC | 2 ms | 512 KB |
subtask_1_39.txt | AC | 9 ms | 512 KB |
subtask_1_40.txt | AC | 2 ms | 512 KB |
subtask_1_41.txt | AC | 2 ms | 384 KB |
subtask_1_42.txt | AC | 2 ms | 384 KB |
subtask_1_43.txt | AC | 2 ms | 384 KB |
subtask_1_44.txt | AC | 2 ms | 384 KB |
subtask_1_45.txt | AC | 4 ms | 512 KB |
subtask_1_46.txt | AC | 1 ms | 256 KB |
subtask_1_47.txt | AC | 2 ms | 512 KB |
subtask_1_48.txt | AC | 2 ms | 512 KB |