Submission #2548625


Source Code Expand

void main() {
	auto ip = readAs!(int[]), N = ip[0], Q = ip[1];
	auto a = new uint[](N+1);
	foreach(_; 0..Q) {
		auto ip2 = readAs!(int[]), l = ip2[0], r = ip2[1];
		a[l-1]++;
		a[r]--;
	}
	int tmp;
	foreach(i; 0..N+1) {
		a[i] += tmp;
		tmp = a[i];
	}
	a.popBack;
	a.map!(b => b & 1 ? 1 : 0).each!write;
	writeln;
}

// ===================================

import std.stdio;
import std.string;
import std.conv;
import std.algorithm;
import std.range;
import std.traits;
import std.math;
import std.container;
import std.bigint;
import std.numeric;
import std.conv;
import std.typecons;
import std.uni;
import std.ascii;
import std.bitmanip;
import core.bitop;

T readAs(T)() if (isBasicType!T) {
	return readln.chomp.to!T;
}
T readAs(T)() if (isArray!T) {
	return readln.split.to!T;
}

T[][] readMatrix(T)(uint height, uint width) if (!isSomeChar!T) {
	auto res = new T[][](height, width);
	foreach(i; 0..height) {
		res[i] = readAs!(T[]);
	}
	return res;
}

T[][] readMatrix(T)(uint height, uint width) if (isSomeChar!T) {
	auto res = new T[][](height, width);
	foreach(i; 0..height) {
		auto s = rs;
		foreach(j; 0..width) res[i][j] = s[j].to!T;
	}
	return res;
}

int ri() {
	return readAs!int;
}

double rd() {
	return readAs!double;
}

string rs() {
	return readln.chomp;
}

T[] deepcopy(T)(T[] a) {
	static if(isArray!T) {
		T[] res;
		foreach(i; a) {
			res ~= deepcopy(i);
		}
		return res;
	} else {
		return a.dup;
	}
}

ulong[] generate_prime_list(T)(T N) if(isIntegral!T) {
	ulong[] prime_list = [2];
	bool not_prime = false;
	foreach(i; 3..N.to!ulong+1) {
		foreach(j; prime_list) {
			if(i % j == 0) {
				not_prime = true;
				break;
			}
		}
		if(!not_prime) prime_list ~= i;
		not_prime = false;
	}
	return prime_list;
}

bool isPrime(ulong n) {
	if(n <= 1) return false;
	else if(n == 2) return true;
	else if(n % 2 == 0) return false;

	foreach(i; iota(3, n.to!double.sqrt.ceil+1, 2)) {
		if(n % i == 0) return false;
	}
	return true;
}

class UnionFind(T) {
	T[] arr;
	this(ulong n) {
		arr.length = n+1;
		arr[] = -1;
	}
	T root(T x) {
		return arr[x] < 0 ? x : root(arr[x]);
	}
	bool same(T x, T y) {
		return root(x) == root(y);
	}
	bool unite(T x, T y) {
		x = root(x);
		y = root(y);
		if(x == y) return false;
		if(arr[x] > arr[y]) swap(x, y);
		arr[x] += arr[y];
		arr[y] = x;
		return true;
	}
	T size(T a) {
		return -arr[root(a)];
	}
}

Submission Info

Submission Time
Task C - オセロ
User private_yusuke
Language D (DMD64 v2.070.1)
Score 100
Code Size 2503 Byte
Status AC
Exec Time 228 ms
Memory 3836 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 60 / 60 40 / 40
Status
AC × 2
AC × 12
AC × 34
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 10_small_01.txt, 10_small_02.txt, 10_small_03.txt, 10_small_04.txt, 10_small_05.txt, 10_small_06.txt, 10_small_07.txt, 10_small_08.txt, 10_small_09.txt, 10_small_10.txt
All 00_example_01.txt, 00_example_02.txt, 10_small_01.txt, 10_small_02.txt, 10_small_03.txt, 10_small_04.txt, 10_small_05.txt, 10_small_06.txt, 10_small_07.txt, 10_small_08.txt, 10_small_09.txt, 10_small_10.txt, 20_rand_01.txt, 20_rand_02.txt, 20_rand_03.txt, 20_rand_04.txt, 20_rand_05.txt, 20_rand_06.txt, 20_rand_07.txt, 20_rand_08.txt, 20_rand_09.txt, 20_rand_10.txt, 30_max_01.txt, 30_max_02.txt, 30_max_03.txt, 30_max_04.txt, 30_max_05.txt, 40_corner_01.txt, 40_corner_02.txt, 40_corner_03.txt, 40_corner_04.txt, 40_corner_05.txt, 40_corner_06.txt, 40_corner_07.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
10_small_01.txt AC 2 ms 380 KB
10_small_02.txt AC 1 ms 256 KB
10_small_03.txt AC 1 ms 256 KB
10_small_04.txt AC 2 ms 380 KB
10_small_05.txt AC 1 ms 256 KB
10_small_06.txt AC 1 ms 380 KB
10_small_07.txt AC 1 ms 256 KB
10_small_08.txt AC 1 ms 256 KB
10_small_09.txt AC 1 ms 256 KB
10_small_10.txt AC 1 ms 256 KB
20_rand_01.txt AC 116 ms 1532 KB
20_rand_02.txt AC 29 ms 3324 KB
20_rand_03.txt AC 12 ms 1020 KB
20_rand_04.txt AC 68 ms 1404 KB
20_rand_05.txt AC 31 ms 1276 KB
20_rand_06.txt AC 65 ms 1532 KB
20_rand_07.txt AC 15 ms 1404 KB
20_rand_08.txt AC 4 ms 508 KB
20_rand_09.txt AC 44 ms 1276 KB
20_rand_10.txt AC 20 ms 1404 KB
30_max_01.txt AC 224 ms 3836 KB
30_max_02.txt AC 228 ms 2300 KB
30_max_03.txt AC 224 ms 3580 KB
30_max_04.txt AC 224 ms 2300 KB
30_max_05.txt AC 224 ms 2300 KB
40_corner_01.txt AC 177 ms 1276 KB
40_corner_02.txt AC 211 ms 2300 KB
40_corner_03.txt AC 210 ms 3836 KB
40_corner_04.txt AC 226 ms 2300 KB
40_corner_05.txt AC 200 ms 2300 KB
40_corner_06.txt AC 177 ms 1276 KB
40_corner_07.txt AC 211 ms 2300 KB