Submission #1942307
Source Code Expand
import std.algorithm; import std.array; import std.ascii; import std.bigint; import std.complex; import std.container; import std.conv; import std.functional; import std.math; import std.range; import std.stdio; import std.string; import std.typecons; auto readInts() { return array(map!(to!int)(readln().strip().split())); } auto readInt() { return readInts()[0]; } auto readLongs() { return array(map!(to!long)(readln().strip().split())); } auto readLong() { return readLongs()[0]; } void readlnTo(T...)(ref T t) { auto s = readln().split(); assert(s.length == t.length); foreach(ref ti; t) { ti = s[0].to!(typeof(ti)); s = s[1..$]; } } class UnionFindTree { public: this(size_t n) { parent = iota(n).array(); rank = new size_t[](n); } size_t find(size_t n) { if(n == parent[n]) { return n; } else { parent[n] = find(parent[n]); return parent[n]; } } void unite(size_t n, size_t m) { auto p1 = find(n); auto p2 = find(m); if(n == m) { return; } if(rank[p1] < rank[p2]) { swap(p1, p2); } if(rank[p1] == rank[p2]) { ++rank[p1]; } parent[p2] = p1; } private: size_t[] parent; size_t[] rank; } unittest { auto uft = new UnionFindTree(10); foreach(i; iota(10)) { assert(uft.find(i) == i); } foreach(i; iota(10).filter!(a => a%3 == 0).drop(1)) { uft.unite(i, i-3); } foreach(i; iota(10).filter!(a => a%3 == 0)) { assert(uft.find(0) == uft.find(i)); } foreach(i; iota(10).filter!(a => a%3 != 0)) { assert(uft.find(0) != uft.find(i)); } } const real eps = 1e-10; const long p = 1_000_000_000 + 7; long sign(long n) { return n % 2 == 1 ? -1: 1; } void main(){ long h, w; readlnTo(h, w); long[][] c; foreach(i; iota(h)) { c ~= readLongs(); } auto s = new long[][](h+1, w+1); foreach(i; iota(h)) { foreach(j; iota(w)) { s[i+1][j+1] = s[i+1][j] + c[i][j] * sign(i + j); } } foreach(i; iota(h)) { foreach(j; iota(w+1)) { s[i+1][j] += s[i][j]; } } long ans; foreach(i; iota(h)) { foreach(j; iota(w)) { foreach(k; iota(i+1, h+1)) { foreach(l; iota(j+1, w+1)) { if(s[k][l] - s[k][j] - s[i][l] + s[i][j] == 0) { ans = max(ans, (k-i) * (l - j)); } } } } } writeln(ans); }
Submission Info
Submission Time | |
---|---|
Task | B - チョコレート |
User | tsuburin |
Language | D (DMD64 v2.070.1) |
Score | 100 |
Code Size | 2776 Byte |
Status | AC |
Exec Time | 96 ms |
Memory | 892 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0_sample-01.txt, subtask0_sample-02.txt, subtask0_sample-03.txt, subtask0_sample-04.txt, subtask0_sample-05.txt |
All | subtask0_sample-01.txt, subtask0_sample-02.txt, subtask0_sample-03.txt, subtask0_sample-04.txt, subtask0_sample-05.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample-01.txt | AC | 1 ms | 256 KB |
subtask0_sample-02.txt | AC | 1 ms | 256 KB |
subtask0_sample-03.txt | AC | 1 ms | 256 KB |
subtask0_sample-04.txt | AC | 1 ms | 256 KB |
subtask0_sample-05.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | AC | 1 ms | 256 KB |
subtask1_04.txt | AC | 1 ms | 256 KB |
subtask1_05.txt | AC | 1 ms | 256 KB |
subtask1_06.txt | AC | 2 ms | 256 KB |
subtask1_07.txt | AC | 1 ms | 256 KB |
subtask1_08.txt | AC | 1 ms | 256 KB |
subtask1_09.txt | AC | 90 ms | 892 KB |
subtask1_10.txt | AC | 14 ms | 508 KB |
subtask1_11.txt | AC | 75 ms | 892 KB |
subtask1_12.txt | AC | 76 ms | 892 KB |
subtask1_13.txt | AC | 76 ms | 892 KB |
subtask1_14.txt | AC | 91 ms | 892 KB |
subtask1_15.txt | AC | 92 ms | 892 KB |
subtask1_16.txt | AC | 73 ms | 892 KB |
subtask1_17.txt | AC | 73 ms | 892 KB |
subtask1_18.txt | AC | 1 ms | 256 KB |
subtask1_19.txt | AC | 1 ms | 256 KB |
subtask1_20.txt | AC | 96 ms | 892 KB |