Submission #67225998


Source Code Expand

Copy
#include <stdio.h>
int N, Q;
int A[512345];
char masu[512345];
int main(void) {
int i;
int ans = 0;
if (scanf("%d%d", &N, &Q) != 2) return 1;
for (i = 0; i < Q; i++) {
if (scanf("%d", &A[i]) != 1) return 1;
}
for (i = 0; i < Q; i++) {
masu[A[i]] = !masu[A[i]];
switch(masu[A[i] - 1] * 0100 + masu[A[i]] * 010 + masu[A[i] + 1]) {
case 0000:
/* */
ans--;
break;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>

int N, Q;
int A[512345];

char masu[512345];

int main(void) {
	int i;
	int ans = 0;
	if (scanf("%d%d", &N, &Q) != 2) return 1;
	for (i = 0; i < Q; i++) {
		if (scanf("%d", &A[i]) != 1) return 1;
	}
	for (i = 0; i < Q; i++) {
		masu[A[i]] = !masu[A[i]];
		switch(masu[A[i] - 1] * 0100 + masu[A[i]] * 010 + masu[A[i] + 1]) {
			case 0000:
				/* 単独の黒 → 白 */
				ans--;
				break;
			case 0001:
				/* 左端を消す */
				/* ±0 */
				break;
			case 0010:
				/* 新規 */
				ans++;
				break;
			case 0011:
				/* 左端を伸ばす */
				/* ±0 */
				break;
			case 0100:
				/* 右端を消す */
				/* ±0 */
				break;
			case 0101:
				/* 切る */
				ans++;
				break;
			case 0110:
				/* 右端を伸ばす */
				/* ±0 */
				break;
			case 0111:
				/* 繋げる */
				ans--;
				break;
		}
		printf("%d\n", ans);
	}
	return 0;
}

Submission Info

Submission Time
Task C - Black Intervals
User mikecat
Language C (gcc 12.2.0)
Score 350
Code Size 936 Byte
Status AC
Exec Time 74 ms
Memory 6032 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 29
Set Name Test Cases
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.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, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt
Case Name Status Exec Time Memory
example_00.txt AC 0 ms 1644 KiB
example_01.txt AC 0 ms 1636 KiB
example_02.txt AC 0 ms 1652 KiB
hand_00.txt AC 53 ms 4164 KiB
hand_01.txt AC 56 ms 3924 KiB
hand_02.txt AC 58 ms 6032 KiB
hand_03.txt AC 45 ms 3600 KiB
hand_04.txt AC 1 ms 1648 KiB
hand_05.txt AC 48 ms 3532 KiB
random_00.txt AC 66 ms 4664 KiB
random_01.txt AC 53 ms 4072 KiB
random_02.txt AC 71 ms 5456 KiB
random_03.txt AC 62 ms 4768 KiB
random_04.txt AC 62 ms 4296 KiB
random_05.txt AC 62 ms 4192 KiB
random_06.txt AC 66 ms 4776 KiB
random_07.txt AC 65 ms 4656 KiB
random_08.txt AC 62 ms 4448 KiB
random_09.txt AC 57 ms 4148 KiB
random_10.txt AC 66 ms 5032 KiB
random_11.txt AC 62 ms 4244 KiB
random_12.txt AC 71 ms 5396 KiB
random_13.txt AC 66 ms 4728 KiB
random_14.txt AC 67 ms 5204 KiB
random_15.txt AC 63 ms 4728 KiB
random_16.txt AC 63 ms 4212 KiB
random_17.txt AC 74 ms 5508 KiB
random_18.txt AC 57 ms 4268 KiB
random_19.txt AC 65 ms 4720 KiB


2025-07-02 (Wed)
02:58:43 +09:00