Submission #70376610


Source Code Expand

Copy
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void* x, const void* y) {
return strcmp(*(const char**)x, *(const char**)y);
}
int N, K;
char S[4096];
int nstrs;
char strs[4096][4096];
char *pstrs[4096];
char *ans[4096];
int main(void) {
int i;
int nans = 0, ans_score = 0, combo;
if (scanf("%d%d", &N, &K) != 2) return 1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmp(const void* x, const void* y) {
	return strcmp(*(const char**)x, *(const char**)y);
}

int N, K;
char S[4096];

int nstrs;
char strs[4096][4096];
char *pstrs[4096];

char *ans[4096];

int main(void) {
	int i;
	int nans = 0, ans_score = 0, combo;
	if (scanf("%d%d", &N, &K) != 2) return 1;
	if (scanf("%4095s", S) != 1) return 1;
	nstrs = N - K + 1;
	for (i = 0; i < nstrs; i++) {
		memcpy(strs[i], S + i, K);
		pstrs[i] = strs[i];
	}
	qsort(pstrs, nstrs, sizeof(*pstrs), cmp);
	combo = 1;
	for (i = 1; i <= nstrs; i++) {
		if (pstrs[i] == NULL || strcmp(pstrs[i - 1], pstrs[i]) != 0) {
			if (combo > ans_score) {
				ans_score = combo;
				nans = 0;
			}
			if (combo == ans_score) {
				ans[nans++] = pstrs[i - 1];
			}
			combo = 1;
		} else {
			combo++;
		}
	}
	printf("%d\n", ans_score);
	for (i = 0; i < nans; i++) {
		printf(" %s" + !i, ans[i]);
	}
	putchar('\n');
	return 0;
}

Submission Info

Submission Time
Task B - Most Frequent Substrings
User mikecat
Language C (gcc 12.2.0)
Score 200
Code Size 1004 Byte
Status AC
Exec Time 1 ms
Memory 2116 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 22
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 0 ms 1592 KiB
00-sample-02.txt AC 0 ms 1628 KiB
00-sample-03.txt AC 0 ms 1696 KiB
01-01.txt AC 0 ms 1896 KiB
01-02.txt AC 0 ms 1796 KiB
01-03.txt AC 1 ms 1856 KiB
01-04.txt AC 0 ms 1972 KiB
01-05.txt AC 1 ms 2116 KiB
01-06.txt AC 0 ms 1712 KiB
01-07.txt AC 1 ms 1984 KiB
01-08.txt AC 0 ms 1732 KiB
01-09.txt AC 1 ms 2068 KiB
01-10.txt AC 1 ms 1948 KiB
01-11.txt AC 0 ms 1952 KiB
01-12.txt AC 0 ms 1984 KiB
01-13.txt AC 0 ms 1888 KiB
01-14.txt AC 0 ms 1748 KiB
01-15.txt AC 0 ms 1860 KiB
01-16.txt AC 0 ms 2088 KiB
01-17.txt AC 0 ms 1568 KiB
01-18.txt AC 1 ms 2036 KiB
01-19.txt AC 0 ms 1740 KiB


2025-10-24 (Fri)
04:58:30 +09:00