Submission #77492177


Source Code Expand

Copy
#include <stdio.h>
#include <stdlib.h>
struct xy_s {
int X, Y;
};
int cmp(const void* x, const void* y) {
struct xy_s a = *(const struct xy_s*)x, b = *(const struct xy_s*)y;
return (a.Y > b.Y) - (a.Y < b.Y);
}
int N;
struct xy_s XY[312345];
int main(void) {
int i;
int min, ans;
if (scanf("%d", &N) != 1) return 1;
for (i = 0; i < N; i++) {
if (scanf("%d%d", &XY[i].X, &XY[i].Y) != 2) return 1;
}
qsort(XY, N, sizeof(*XY), cmp);
min = XY[0].X;
ans = 1;
for (i = 1; i < N; i++) {
if (XY[i].X <= min) {
ans++;
min = XY[i].X;
}
}
printf("%d\n", ans);
return 0;
}
/*
iff X
*/
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <stdio.h>
#include <stdlib.h>

struct xy_s {
	int X, Y;
};

int cmp(const void* x, const void* y) {
	struct xy_s a = *(const struct xy_s*)x, b = *(const struct xy_s*)y;
	return (a.Y > b.Y) - (a.Y < b.Y);
}

int N;
struct xy_s XY[312345];

int main(void) {
	int i;
	int min, ans;
	if (scanf("%d", &N) != 1) return 1;
	for (i = 0; i < N; i++) {
		if (scanf("%d%d", &XY[i].X, &XY[i].Y) != 2) return 1;
	}
	qsort(XY, N, sizeof(*XY), cmp);
	min = XY[0].X;
	ans = 1;
	for (i = 1; i < N; i++) {
		if (XY[i].X <= min) {
			ans++;
			min = XY[i].X;
		}
	}
	printf("%d\n", ans);
	return 0;
}

/*

下から順に処理 → おk iff X がそこまでの最小値

*/

Submission Info

Submission Time
Task C - Not Covered Points
User mikecat
Language C23 (GCC 14.2.0)
Score 300
Code Size 707 Byte
Status AC
Exec Time 68 ms
Memory 6348 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 25
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 0 ms 1672 KiB
00_sample_01.txt AC 0 ms 1716 KiB
00_sample_02.txt AC 0 ms 1732 KiB
01_random_00.txt AC 0 ms 1732 KiB
01_random_01.txt AC 37 ms 5112 KiB
01_random_02.txt AC 67 ms 6184 KiB
01_random_03.txt AC 37 ms 6196 KiB
01_random_04.txt AC 67 ms 6184 KiB
01_random_05.txt AC 46 ms 4696 KiB
01_random_06.txt AC 68 ms 6348 KiB
01_random_07.txt AC 37 ms 4212 KiB
01_random_08.txt AC 68 ms 6128 KiB
01_random_09.txt AC 39 ms 4264 KiB
01_random_10.txt AC 68 ms 6184 KiB
01_random_11.txt AC 20 ms 3060 KiB
01_random_12.txt AC 68 ms 6348 KiB
01_random_13.txt AC 68 ms 6232 KiB
01_random_14.txt AC 67 ms 6264 KiB
01_random_15.txt AC 68 ms 6340 KiB
01_random_16.txt AC 68 ms 6240 KiB
01_random_17.txt AC 67 ms 6340 KiB
01_random_18.txt AC 68 ms 6196 KiB
01_random_19.txt AC 68 ms 6196 KiB
01_random_20.txt AC 68 ms 6264 KiB
01_random_21.txt AC 66 ms 6252 KiB


2026-07-15 (Wed)
07:22:37 +09:00