Submission #223835
Source Code Expand
#include <stdio.h> typedef struct Tag { int val, idx; } Data; Data heap[100000]; int hsize = 0; void insert(Data x) { int i; for (i = hsize++; i > 0 && x.val > heap[(i - 1) / 2].val; i = (i - 1) / 2) heap[i] = heap[(i - 1) / 2]; heap[i] = x; } Data delete(void) { int i; Data ret = heap[0], x = heap[--hsize]; for (i = 0; i * 2 + 1 < hsize; ) { int minIdx = i * 2 + 2 - (i * 2 + 2 == hsize || heap[i * 2 + 1].val > heap[i * 2 + 2].val); if (x.val >= heap[minIdx].val) break; heap[i] = heap[minIdx]; i = minIdx; } heap[i] = x; return ret; } int main(void) { int i; int n, k; Data x[100000]; scanf("%d %d", &n, &k); for (i = 0; i < n; i++) { int tmp; scanf("%d", &tmp); x[i].val = tmp; x[i].idx = i + 1; } for (i = 0; i < k; i++) insert(x[i]); printf("%d\n", heap[0].idx); for (i = k; i < n; i++) { if (heap[0].val > x[i].val) { delete(); insert(x[i]); } printf("%d\n", heap[0].idx); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 特別賞 |
User | zeosutt |
Language | C (GCC 4.6.4) |
Score | 100 |
Code Size | 1032 Byte |
Status | AC |
Exec Time | 61 ms |
Memory | 2212 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:41:7: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] ./Main.c:45:8: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 40 / 40 | 60 / 60 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
Subtask1 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt |
Subtask2 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 22 ms | 792 KB |
sample_02.txt | AC | 22 ms | 788 KB |
subtask1_01.txt | AC | 21 ms | 792 KB |
subtask1_02.txt | AC | 21 ms | 792 KB |
subtask1_03.txt | AC | 21 ms | 692 KB |
subtask1_04.txt | AC | 22 ms | 796 KB |
subtask1_05.txt | AC | 22 ms | 792 KB |
subtask1_06.txt | AC | 21 ms | 792 KB |
subtask1_07.txt | AC | 21 ms | 792 KB |
subtask1_08.txt | AC | 22 ms | 688 KB |
subtask1_09.txt | AC | 22 ms | 792 KB |
subtask1_10.txt | AC | 22 ms | 708 KB |
subtask1_11.txt | AC | 21 ms | 792 KB |
subtask2_01.txt | AC | 26 ms | 804 KB |
subtask2_02.txt | AC | 22 ms | 680 KB |
subtask2_03.txt | AC | 61 ms | 2080 KB |
subtask2_04.txt | AC | 54 ms | 1952 KB |
subtask2_05.txt | AC | 43 ms | 2212 KB |
subtask2_06.txt | AC | 50 ms | 2088 KB |
subtask2_07.txt | AC | 58 ms | 2084 KB |
subtask2_08.txt | AC | 50 ms | 2084 KB |
subtask2_09.txt | AC | 59 ms | 2136 KB |