Submission #1257273


Source Code Expand

#include <stdio.h>
#include <stdlib.h>

int min(int a, int b){
	if(a < b){
		return a;
	}
	else{
		return b;
	}
}

int main(){
	int N, K, i, j, k;
	scanf("%d %d", &N, &K);
	int L = N - K;
	char *s = (char *)malloc(sizeof(char) * (N + 1));
	char *t = (char *)malloc(sizeof(char) * (N + 1));
	scanf("%s", s);
	int *snum = (int *)malloc(sizeof(int) * 26);
	int *tnum = (int *)malloc(sizeof(int) * 26);
	int sum;
	for(i = 0; i < 26; i++){
		snum[i] = 0;
		tnum[i] = 0;
	}
	for(i = 0; i < N; i++){
		snum[(int)s[i] - (int)'a']++;
		tnum[(int)s[i] - (int)'a']++;
	}
	for(i = 0; i < N; i++){
		snum[(int)s[i] - (int)'a']--;
		for(j = 0; j < 26; j++){
			if(tnum[j] != 0){
				t[i] = (char)(j + (int)'a');
				tnum[j]--;
				sum = 0;
				for(k = 0; k < 26; k++){
					sum += min(snum[k], tnum[k]);
				}
				if(s[i] == t[i]){
					L--;
				}
				if(sum >= L){
					break;
				}
				if(s[i] == t[i]){
					L++;
				}
				tnum[j]++;
			}
		}
	}
	t[N] = '\0';
	printf("%s\n", t);
	return 0;
}

Submission Info

Submission Time
Task C - 辞書式順序ふたたび
User abc050
Language C (GCC 5.4.1)
Score 100
Code Size 1037 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:15:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &N, &K);
  ^
./Main.c:19:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", s);
  ^

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 58
Set Name Test Cases
All hand_1_0.txt, hand_1_1.txt, hand_1_2.txt, hand_1_3.txt, hand_1_4.txt, hand_1_5.txt, hand_1_6.txt, hand_1_7.txt, hand_1_8.txt, hand_2_0.txt, hand_2_1.txt, hand_2_10.txt, hand_2_2.txt, hand_2_3.txt, hand_2_4.txt, hand_2_5.txt, hand_2_6.txt, hand_2_7.txt, hand_2_8.txt, hand_2_9.txt, hand_3_2.txt, hand_3_3.txt, hand_3_4.txt, hand_3_5.txt, hand_3_6.txt, hand_4_2.txt, hand_4_3.txt, hand_4_4.txt, hand_4_5.txt, hand_4_6.txt, random_1.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt, small_5.txt, small_6.txt, small_7.txt, small_8.txt, small_9.txt
Case Name Status Exec Time Memory
hand_1_0.txt AC 1 ms 128 KB
hand_1_1.txt AC 1 ms 128 KB
hand_1_2.txt AC 1 ms 128 KB
hand_1_3.txt AC 1 ms 128 KB
hand_1_4.txt AC 1 ms 128 KB
hand_1_5.txt AC 1 ms 128 KB
hand_1_6.txt AC 1 ms 128 KB
hand_1_7.txt AC 1 ms 128 KB
hand_1_8.txt AC 1 ms 128 KB
hand_2_0.txt AC 1 ms 128 KB
hand_2_1.txt AC 1 ms 128 KB
hand_2_10.txt AC 1 ms 128 KB
hand_2_2.txt AC 1 ms 128 KB
hand_2_3.txt AC 1 ms 128 KB
hand_2_4.txt AC 1 ms 128 KB
hand_2_5.txt AC 1 ms 128 KB
hand_2_6.txt AC 1 ms 128 KB
hand_2_7.txt AC 1 ms 128 KB
hand_2_8.txt AC 1 ms 128 KB
hand_2_9.txt AC 1 ms 128 KB
hand_3_2.txt AC 1 ms 128 KB
hand_3_3.txt AC 1 ms 128 KB
hand_3_4.txt AC 1 ms 128 KB
hand_3_5.txt AC 1 ms 128 KB
hand_3_6.txt AC 1 ms 128 KB
hand_4_2.txt AC 1 ms 128 KB
hand_4_3.txt AC 1 ms 128 KB
hand_4_4.txt AC 1 ms 128 KB
hand_4_5.txt AC 1 ms 128 KB
hand_4_6.txt AC 1 ms 128 KB
random_1.txt AC 1 ms 128 KB
random_10.txt AC 1 ms 128 KB
random_11.txt AC 1 ms 128 KB
random_12.txt AC 1 ms 128 KB
random_13.txt AC 1 ms 128 KB
random_14.txt AC 1 ms 128 KB
random_15.txt AC 1 ms 128 KB
random_2.txt AC 1 ms 128 KB
random_3.txt AC 1 ms 128 KB
random_4.txt AC 1 ms 128 KB
random_5.txt AC 1 ms 128 KB
random_6.txt AC 1 ms 128 KB
random_7.txt AC 1 ms 128 KB
random_8.txt AC 1 ms 128 KB
random_9.txt AC 1 ms 128 KB
sample_1.txt AC 1 ms 128 KB
sample_2.txt AC 1 ms 128 KB
sample_3.txt AC 1 ms 128 KB
sample_4.txt AC 1 ms 128 KB
small_1.txt AC 1 ms 128 KB
small_2.txt AC 1 ms 128 KB
small_3.txt AC 1 ms 128 KB
small_4.txt AC 1 ms 128 KB
small_5.txt AC 1 ms 128 KB
small_6.txt AC 1 ms 128 KB
small_7.txt AC 1 ms 128 KB
small_8.txt AC 1 ms 128 KB
small_9.txt AC 1 ms 128 KB