Submission #3879068
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <assert.h>
#include <bitset>
#include <cmath>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <time.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#pragma warning(disable:4996)
#pragma comment(linker, "/STACK:336777216")
using namespace std;
#define mp make_pair
#define Fi first
#define Se second
#define pb(x) push_back(x)
#define szz(x) ((int)(x).size())
#define rep(i, n) for(int i=0;i<n;i++)
#define all(x) (x).begin(), (x).end()
#define ldb ldouble
typedef unsigned int uint;
typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;
int IT_MAX = 1 << 19;
const ll MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;
const int MX = 200005;
int A[MX], B[MX];
int chk[MX];
int N, K, Q;
int main()
{
scanf("%d%d%d", &N, &K, &Q);
for(int i = 1; i <= N; i++) scanf("%d", A+i);
for(int i = 1; i <= N; i++) B[i] = i;
sort(B+1, B+N+1, [](int l, int r){ return A[l] < A[r]; });
chk[N+1] = 1;
int ans = 1e9;
for(int i = 1; i <= N; i++){
vector<int> L, M;
for(int i = 1; i <= N+1; i++){
if(chk[i]){
sort(L.begin(), L.end());
for(int t = 0; t < (int)L.size() - K + 1; t++) M.push_back(L[t]);
L.clear();
}
else L.push_back(A[i]);
}
sort(M.begin(), M.end());
if(M.size() >= Q) ans = min(ans, M[Q-1] - M[0]);
chk[B[i]] = 1;
}
printf("%d\n", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Range Minimum Queries |
| User | zigui |
| Language | C++14 (GCC 5.4.1) |
| Score | 600 |
| Code Size | 1947 Byte |
| Status | AC |
| Exec Time | 89 ms |
| Memory | 256 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:62:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &N, &K, &Q);
^
./Main.cpp:63:46: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
for(int i = 1; i <= N; i++) scanf("%d", A+i);
^
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 KiB |
| sample_02.txt | AC | 1 ms | 256 KiB |
| sample_03.txt | AC | 1 ms | 256 KiB |
| subtask_1_01.txt | AC | 1 ms | 256 KiB |
| subtask_1_02.txt | AC | 1 ms | 256 KiB |
| subtask_1_03.txt | AC | 48 ms | 256 KiB |
| subtask_1_04.txt | AC | 2 ms | 256 KiB |
| subtask_1_05.txt | AC | 1 ms | 256 KiB |
| subtask_1_06.txt | AC | 3 ms | 256 KiB |
| subtask_1_07.txt | AC | 29 ms | 256 KiB |
| subtask_1_08.txt | AC | 31 ms | 256 KiB |
| subtask_1_09.txt | AC | 27 ms | 256 KiB |
| subtask_1_10.txt | AC | 19 ms | 256 KiB |
| subtask_1_11.txt | AC | 42 ms | 256 KiB |
| subtask_1_12.txt | AC | 88 ms | 256 KiB |
| subtask_1_13.txt | AC | 88 ms | 256 KiB |
| subtask_1_14.txt | AC | 36 ms | 256 KiB |
| subtask_1_15.txt | AC | 39 ms | 256 KiB |
| subtask_1_16.txt | AC | 39 ms | 256 KiB |
| subtask_1_17.txt | AC | 80 ms | 256 KiB |
| subtask_1_18.txt | AC | 89 ms | 256 KiB |
| subtask_1_19.txt | AC | 89 ms | 256 KiB |
| subtask_1_20.txt | AC | 62 ms | 256 KiB |
| subtask_1_21.txt | AC | 75 ms | 256 KiB |
| subtask_1_22.txt | AC | 72 ms | 256 KiB |
| subtask_1_23.txt | AC | 33 ms | 256 KiB |
| subtask_1_24.txt | AC | 51 ms | 256 KiB |
| subtask_1_25.txt | AC | 51 ms | 256 KiB |
| subtask_1_26.txt | AC | 28 ms | 256 KiB |
| subtask_1_27.txt | AC | 50 ms | 256 KiB |
| subtask_1_28.txt | AC | 28 ms | 256 KiB |
| subtask_1_29.txt | AC | 56 ms | 256 KiB |
| subtask_1_30.txt | AC | 47 ms | 256 KiB |
| subtask_1_31.txt | AC | 39 ms | 256 KiB |
| subtask_1_32.txt | AC | 38 ms | 256 KiB |
| subtask_1_33.txt | AC | 29 ms | 256 KiB |
| subtask_1_34.txt | AC | 29 ms | 256 KiB |
| subtask_1_35.txt | AC | 29 ms | 256 KiB |
| subtask_1_36.txt | AC | 29 ms | 256 KiB |
| subtask_1_37.txt | AC | 35 ms | 256 KiB |
| subtask_1_38.txt | AC | 28 ms | 256 KiB |
| subtask_1_39.txt | AC | 33 ms | 256 KiB |
| subtask_1_40.txt | AC | 47 ms | 256 KiB |
| subtask_1_41.txt | AC | 22 ms | 256 KiB |
| subtask_1_42.txt | AC | 30 ms | 256 KiB |
| subtask_1_43.txt | AC | 24 ms | 256 KiB |
| subtask_1_44.txt | AC | 23 ms | 256 KiB |
| subtask_1_45.txt | AC | 34 ms | 256 KiB |
| subtask_1_46.txt | AC | 25 ms | 256 KiB |
| subtask_1_47.txt | AC | 29 ms | 256 KiB |
| subtask_1_48.txt | AC | 30 ms | 256 KiB |