Submission #69232101


Source Code Expand

Copy
#include <stdio.h>
#include <inttypes.h>
int N, M, D;
int L[32];
int A[32][32];
int main(void) {
int i, j, k;
int64_t ans = -1;
if (scanf("%d%d%d", &N, &M, &D) != 3) return 1;
for (i = 0; i < N; i++) {
if (scanf("%d", &L[i]) != 1) return 1;
}
for (i = 0; i < N; i++) {
for (j = 0; j < M; j++) {
if (scanf("%d", &A[i][j]) != 1) return 1;
}
}
for (i = 1; i < (1 << N); i++) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <inttypes.h>

int N, M, D;
int L[32];
int A[32][32];

int main(void) {
	int i, j, k;
	int64_t ans = -1;
	if (scanf("%d%d%d", &N, &M, &D) != 3) return 1;
	for (i = 0; i < N; i++) {
		if (scanf("%d", &L[i]) != 1) return 1;
	}
	for (i = 0; i < N; i++) {
		for (j = 0; j < M; j++) {
			if (scanf("%d", &A[i][j]) != 1) return 1;
		}
	}

	for (i = 1; i < (1 << N); i++) {
		int64_t t = 0;
		for (j = 0; j < N; j++) {
			if ((i >> j) & 1) t += L[j];
		}
		if (t <= D) {
			int64_t s = 0;
			for (j = 0; j < M; j++) {
				int max = 0;
				for (k = 0; k < N; k++) {
					if (((i >> k) & 1) && max < A[k][j]) max = A[k][j];
				}
				s += max;
			}
			if (ans < s) ans = s;
		}
	}

	printf("%" PRId64 "\n", ans);
	return 0;
}

Submission Info

Submission Time
Task F - Events Scheduling
User mikecat
Language C (gcc 12.2.0)
Score 300
Code Size 785 Byte
Status AC
Exec Time 16 ms
Memory 1740 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 20
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, handmade_00.txt, handmade_01.txt, handmade_02.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
Case Name Status Exec Time Memory
example_00.txt AC 0 ms 1732 KiB
example_01.txt AC 0 ms 1620 KiB
handmade_00.txt AC 15 ms 1644 KiB
handmade_01.txt AC 16 ms 1588 KiB
handmade_02.txt AC 4 ms 1636 KiB
random_00.txt AC 0 ms 1624 KiB
random_01.txt AC 0 ms 1616 KiB
random_02.txt AC 0 ms 1712 KiB
random_03.txt AC 1 ms 1736 KiB
random_04.txt AC 0 ms 1632 KiB
random_05.txt AC 1 ms 1732 KiB
random_06.txt AC 8 ms 1592 KiB
random_07.txt AC 1 ms 1568 KiB
random_08.txt AC 1 ms 1704 KiB
random_09.txt AC 1 ms 1624 KiB
random_10.txt AC 0 ms 1712 KiB
random_11.txt AC 0 ms 1620 KiB
random_12.txt AC 1 ms 1740 KiB
random_13.txt AC 1 ms 1708 KiB
random_14.txt AC 8 ms 1596 KiB


2025-09-12 (Fri)
07:37:25 +09:00