Submission #69752269


Source Code Expand

Copy
#include <stdio.h>
int N, K;
int P[212345];
int main(void) {
int i;
if (scanf("%d%d", &N, &K) != 2) return 1;
for (i = 1; i <= N; i++) {
if (scanf("%d", &P[i]) != 1) return 1;
}
for (i = N; i >= 1; i--) {
if (P[i] != i) {
/* K - 1 */
puts(i <= K - 1 ? "Yes" : "No");
return 0;
}
}
/* */
puts("Yes");
return 0;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>

int N, K;
int P[212345];

int main(void) {
	int i;
	if (scanf("%d%d", &N, &K) != 2) return 1;
	for (i = 1; i <= N; i++) {
		if (scanf("%d", &P[i]) != 1) return 1;
	}
	for (i = N; i >= 1; i--) {
		if (P[i] != i) {
			/* 定位置にない最大の要素が見つかったので、それが K - 1 以下かを判定する */
			puts(i <= K - 1 ? "Yes" : "No");
			return 0;
		}
	}
	/* 定位置にない要素は無かった */
	puts("Yes");
	return 0;
}

/*

1 2 3
3 2 1
3 1 2
1 3 2

のようにすれば、1を介して任意の2要素の入れ替えが可能
すなわち、P_i <= K - 1 である任意の要素について、
条件を満たす他の任意の要素との入れ替えが可能
逆に、P_i > K - 1 であれば、1 とも入れ替えできないので、他とも入れ替えできない

*/

Submission Info

Submission Time
Task A - Sum Sort
User mikecat
Language C (gcc 12.2.0)
Score 200
Code Size 867 Byte
Status AC
Exec Time 16 ms
Memory 2416 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 2
AC × 19
Set Name Test Cases
Sample 00_sample_01, 00_sample_02
All 00_sample_01, 00_sample_02, 01_randsmall_0, 01_randsmall_1, 01_randsmall_2, 01_randsmall_3, 02_randmidi_0, 02_randmidi_1, 02_randmidi_2, 02_randmidi_3, 03_rand_0, 03_rand_1, 03_rand_2, 03_rand_3, 04_randmax_0, 04_randmax_1, 04_randmax_2, 04_randmax_3, corner_01
Case Name Status Exec Time Memory
00_sample_01 AC 0 ms 1524 KiB
00_sample_02 AC 0 ms 1564 KiB
01_randsmall_0 AC 0 ms 1628 KiB
01_randsmall_1 AC 0 ms 1528 KiB
01_randsmall_2 AC 0 ms 1636 KiB
01_randsmall_3 AC 0 ms 1560 KiB
02_randmidi_0 AC 0 ms 1504 KiB
02_randmidi_1 AC 1 ms 1628 KiB
02_randmidi_2 AC 1 ms 1624 KiB
02_randmidi_3 AC 1 ms 1620 KiB
03_rand_0 AC 6 ms 1736 KiB
03_rand_1 AC 12 ms 2132 KiB
03_rand_2 AC 14 ms 2136 KiB
03_rand_3 AC 1 ms 1588 KiB
04_randmax_0 AC 15 ms 2348 KiB
04_randmax_1 AC 15 ms 2400 KiB
04_randmax_2 AC 16 ms 2416 KiB
04_randmax_3 AC 13 ms 2332 KiB
corner_01 AC 0 ms 1628 KiB


2025-10-01 (Wed)
00:23:17 +09:00