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
AC × 2
AC × 13
AC × 20
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