Submission #76900029


Source Code Expand

Copy
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
int N;
uint64_t K;
int L[212345];
int *A[212345];
int C[212345];
int main(void) {
int i, j;
if (scanf("%d%" SCNu64, &N, &K) != 2) return 1;
for (i = 0; i < N; i++) {
if (scanf("%d", &L[i]) != 1) return 1;
A[i] = malloc(sizeof(*A[i]) * L[i]);
if (A[i] == NULL) return 2;
for (j = 0; j < L[i]; j++) {
if (scanf("%d", &A[i][j]) != 1) return 1;
}
}
for (i = 0; i < N; i++) {
if (scanf("%d", &C[i]) != 1) return 1;
}
K--;
for (i = 0; i < N; i++) {
uint64_t len = (uint64_t)L[i] * C[i];
if (K < len) {
printf("%d\n", A[i][K % L[i]]);
return 0;
}
K -= len;
}
puts("K too large");
return 72;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

int N;
uint64_t K;
int L[212345];
int *A[212345];
int C[212345];

int main(void) {
	int i, j;
	if (scanf("%d%" SCNu64, &N, &K) != 2) return 1;
	for (i = 0; i < N; i++) {
		if (scanf("%d", &L[i]) != 1) return 1;
		A[i] = malloc(sizeof(*A[i]) * L[i]);
		if (A[i] == NULL) return 2;
		for (j = 0; j < L[i]; j++) {
			if (scanf("%d", &A[i][j]) != 1) return 1;
		}
	}
	for (i = 0; i < N; i++) {
		if (scanf("%d", &C[i]) != 1) return 1;
	}
	K--;
	for (i = 0; i < N; i++) {
		uint64_t len = (uint64_t)L[i] * C[i];
		if (K < len) {
			printf("%d\n", A[i][K % L[i]]);
			return 0;
		}
		K -= len;
	}
	puts("K too large");
	return 72;
}

Submission Info

Submission Time
Task C - Long Sequence
User mikecat
Language C23 (GCC 14.2.0)
Score 300
Code Size 725 Byte
Status AC
Exec Time 38 ms
Memory 11196 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 23
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 1656 KiB
00_sample_01.txt AC 0 ms 1652 KiB
00_sample_02.txt AC 0 ms 1680 KiB
01_random_00.txt AC 18 ms 3816 KiB
01_random_01.txt AC 27 ms 6852 KiB
01_random_02.txt AC 15 ms 3284 KiB
01_random_03.txt AC 28 ms 6084 KiB
01_random_04.txt AC 25 ms 6108 KiB
01_random_05.txt AC 23 ms 5180 KiB
01_random_06.txt AC 17 ms 3540 KiB
01_random_07.txt AC 38 ms 10856 KiB
01_random_08.txt AC 13 ms 2780 KiB
01_random_09.txt AC 31 ms 8568 KiB
01_random_10.txt AC 12 ms 2528 KiB
01_random_11.txt AC 12 ms 2528 KiB
01_random_12.txt AC 12 ms 2516 KiB
01_random_13.txt AC 37 ms 11196 KiB
01_random_14.txt AC 38 ms 11104 KiB
01_random_15.txt AC 38 ms 11112 KiB
01_random_16.txt AC 32 ms 8916 KiB
01_random_17.txt AC 27 ms 6876 KiB
01_random_18.txt AC 24 ms 5736 KiB
01_random_19.txt AC 13 ms 2620 KiB


2026-06-23 (Tue)
01:53:27 +09:00