Submission #65691220


Source Code Expand

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
#define MaxN 200005
int n, m, q;
struct Node{
	int a, b, id;
} p[MaxN], o[MaxN];

int tr[2000005];
long long ans[MaxN];

bool cmp1(Node x, Node y) {
	return x.a < y.a;
}

bool cmp2(Node x, Node y) {
	return x.b > y.b;
}

int lowbit(int x) {
	return x & -x;
}

void add(int x) {
	while (x < MaxN) {
		tr[x]++;
		x += lowbit(x);
	}
}

int query(int x) {
	int re = 0;
	while (x > 0) {
		re += tr[x];
		x -= lowbit(x);
	}
	return re;
}

int main()
{
	cin >> n >> m;
	for(int i = 1; i <= m; i++) {
		cin >> p[i].a >> p[i].b;
	}
	cin >> q;
	for(int i = 1; i <= q; i++) {
		cin >> o[i].a >> o[i].b;
		o[i].id = i;
	}
	sort(p+1, p+m+1, cmp1);
	sort(o+1, o+q+1, cmp1);

	int h = 1;
	for(int i = 1; i <= q; i++) {
		// o[i].a ~ o[i].b
		while (h <= m && p[h].a < o[i].a) {
			add(p[h].b);
			h++;
		}
		ans[o[i].id] = query(o[i].b) - query(o[i].a);
	}

	sort(p+1, p+m+1, cmp2);
	sort(o+1, o+q+1, cmp2);

	h = 1;
	memset(tr, 0, sizeof(tr));
	for(int i = 1; i <= q; i++) {
		// o[i].a ~ o[i].b
		while (h <= m && p[h].b > o[i].b) {
			add(p[h].a);
			h++;
		}
		ans[o[i].id] += query(o[i].b) - query(o[i].a);
	}

	for(int i = 1; i <= q; i++) {
		cout << ans[i] << endl;
	}
	return 0;
}

Submission Info

Submission Time
Task F - Chord Crossing
User gobywind
Language C++ 20 (gcc 12.2)
Score 0
Code Size 1337 Byte
Status WA
Exec Time 420 ms
Memory 17436 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 525
Status
AC × 2
AC × 13
WA × 27
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 01_small_09.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt, 02_large_05.txt, 02_large_06.txt, 02_large_07.txt, 02_large_08.txt, 02_large_09.txt, 02_large_10.txt, 02_large_11.txt, 02_large_12.txt, 02_large_13.txt, 02_large_14.txt, 02_large_15.txt, 02_large_16.txt, 02_large_17.txt, 02_large_18.txt, 02_large_19.txt, 03_handmade_00.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt, 03_handmade_06.txt, 03_handmade_07.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 4 ms 11112 KiB
00_sample_01.txt AC 4 ms 11136 KiB
01_small_00.txt AC 267 ms 15232 KiB
01_small_01.txt AC 266 ms 15052 KiB
01_small_02.txt AC 266 ms 15012 KiB
01_small_03.txt AC 266 ms 15044 KiB
01_small_04.txt AC 266 ms 15032 KiB
01_small_05.txt AC 265 ms 15016 KiB
01_small_06.txt AC 267 ms 15088 KiB
01_small_07.txt AC 266 ms 15040 KiB
01_small_08.txt AC 269 ms 15084 KiB
01_small_09.txt AC 265 ms 15012 KiB
02_large_00.txt WA 342 ms 15812 KiB
02_large_01.txt WA 373 ms 16640 KiB
02_large_02.txt WA 352 ms 15956 KiB
02_large_03.txt WA 383 ms 16672 KiB
02_large_04.txt WA 380 ms 16648 KiB
02_large_05.txt WA 354 ms 16016 KiB
02_large_06.txt WA 328 ms 15408 KiB
02_large_07.txt WA 384 ms 16904 KiB
02_large_08.txt WA 323 ms 15356 KiB
02_large_09.txt WA 401 ms 17164 KiB
02_large_10.txt WA 414 ms 17352 KiB
02_large_11.txt WA 420 ms 17376 KiB
02_large_12.txt WA 417 ms 17336 KiB
02_large_13.txt WA 412 ms 17348 KiB
02_large_14.txt WA 411 ms 17356 KiB
02_large_15.txt WA 417 ms 17424 KiB
02_large_16.txt WA 414 ms 17436 KiB
02_large_17.txt WA 410 ms 17348 KiB
02_large_18.txt WA 414 ms 17348 KiB
02_large_19.txt WA 412 ms 17420 KiB
03_handmade_00.txt AC 4 ms 11272 KiB
03_handmade_01.txt WA 381 ms 17376 KiB
03_handmade_02.txt WA 383 ms 17436 KiB
03_handmade_03.txt WA 386 ms 17372 KiB
03_handmade_04.txt WA 384 ms 17368 KiB
03_handmade_05.txt WA 383 ms 17416 KiB
03_handmade_06.txt WA 385 ms 17368 KiB
03_handmade_07.txt WA 392 ms 17376 KiB