Submission #75005014


Source Code Expand

Copy
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
/* */
int cmp(const void* x, const void* y) {
int64_t a = *(const int64_t*)x, b = *(const int64_t*)y;
return (a < b) - (a > b);
}
int N, K;
int64_t X;
int64_t A[312345];
int main(void) {
int i;
int64_t sum = 0;
if (scanf("%d%d%" SCNd64, &N, &K, &X) != 3) return 1;
for (i = 0; i < N; i++) {
if (scanf("%" SCNd64, &A[i]) != 1) return 1;
}
qsort(A, N, sizeof(*A), cmp);
for (i = N - K; i < N; i++) {
sum += A[i];
if (sum >= X) {
printf("%d\n", i + 1);
return 0;
}
}
puts("-1");
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

/* 降順 */
int cmp(const void* x, const void* y) {
	int64_t a = *(const int64_t*)x, b = *(const int64_t*)y;
	return (a < b) - (a > b);
}

int N, K;
int64_t X;
int64_t A[312345];

int main(void) {
	int i;
	int64_t sum = 0;
	if (scanf("%d%d%" SCNd64, &N, &K, &X) != 3) return 1;
	for (i = 0; i < N; i++) {
		if (scanf("%" SCNd64, &A[i]) != 1) return 1;
	}
	qsort(A, N, sizeof(*A), cmp);
	for (i = N - K; i < N; i++) {
		sum += A[i];
		if (sum >= X) {
			printf("%d\n", i + 1);
			return 0;
		}
	}
	puts("-1");
	return 0;
}

Submission Info

Submission Time
Task C - Sake or Water
User mikecat
Language C23 (GCC 14.2.0)
Score 300
Code Size 617 Byte
Status AC
Exec Time 52 ms
Memory 6280 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 33
Set Name Test Cases
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, hand_08.txt, hand_09.txt, hand_10.txt, hand_11.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt
Case Name Status Exec Time Memory
example_00.txt AC 0 ms 1628 KiB
example_01.txt AC 0 ms 1564 KiB
example_02.txt AC 0 ms 1644 KiB
hand_00.txt AC 25 ms 5052 KiB
hand_01.txt AC 25 ms 5084 KiB
hand_02.txt AC 50 ms 6188 KiB
hand_03.txt AC 50 ms 6164 KiB
hand_04.txt AC 50 ms 6264 KiB
hand_05.txt AC 49 ms 6236 KiB
hand_06.txt AC 49 ms 6140 KiB
hand_07.txt AC 0 ms 1672 KiB
hand_08.txt AC 0 ms 1624 KiB
hand_09.txt AC 0 ms 1708 KiB
hand_10.txt AC 0 ms 1628 KiB
hand_11.txt AC 26 ms 6280 KiB
random_00.txt AC 51 ms 6236 KiB
random_01.txt AC 51 ms 6140 KiB
random_02.txt AC 51 ms 6264 KiB
random_03.txt AC 51 ms 6204 KiB
random_04.txt AC 51 ms 6236 KiB
random_05.txt AC 51 ms 6280 KiB
random_06.txt AC 50 ms 6204 KiB
random_07.txt AC 51 ms 6164 KiB
random_08.txt AC 52 ms 6212 KiB
random_09.txt AC 51 ms 6216 KiB
random_10.txt AC 51 ms 6220 KiB
random_11.txt AC 51 ms 6220 KiB
random_12.txt AC 51 ms 6280 KiB
random_13.txt AC 50 ms 6168 KiB
random_14.txt AC 50 ms 6264 KiB
random_15.txt AC 50 ms 6216 KiB
random_16.txt AC 51 ms 6188 KiB
random_17.txt AC 51 ms 6160 KiB


2026-04-17 (Fri)
07:30:00 +09:00