CSES - Putka Open 2020 – 1/5 - Results
Submission details
Task:Ruudukko
Sender:Grez
Submission time:2020-09-06 20:53:48 +0300
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.01 s1, 2, 3details
#20.01 s1, 2, 3details
#30.01 s1, 2, 3details
#40.01 s1, 2, 3details
#50.01 s1, 2, 3details
#60.01 s1, 2, 3details
#70.01 s2, 3details
#80.01 s2, 3details
#90.01 s2, 3details
#100.01 s2, 3details
#110.01 s2, 3details
#120.01 s2, 3details
#130.03 s3details
#140.03 s3details
#150.04 s3details
#160.04 s3details
#170.04 s3details
#180.03 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:11:6: warning: unused variable 'bc' [-Wunused-variable]
  int bc[1000];
      ^~

Code

#include <iostream>
#include <unordered_set>

using namespace std;

int main() {
	int size;
	cin >> size;

	int mins[1000], maxs[1000], offs[1000];
	int bc[1000];
	bool *bl;
	bl = new bool[(size+3)<<11];
	char rivi[1001];



	cin >> rivi;
	int sum = 0;
	for (int c = 0; c < size; c++) {
		sum += rivi[c] == 'o';
		offs[c] = -1024;
		mins[c] = maxs[c] = sum;
		bl[(c << 11) + sum] = 1;
	}

	int p;
	for (int r = 1; r < size; r++) {
		cin >> rivi;
		for (int c = 0; c < size; c++) {
			if (c) {
				for (int pc = mins[p]; pc <= maxs[p]; pc++) {
					if (bl[(p<<11) + pc - offs[p]]) { bl[(c<<11) + pc - offs[c]] = true; }
				}
				if (mins[p] < mins[c]) { mins[p] = mins[c]; }
				if (maxs[p] > maxs[c]) { maxs[p] = maxs[c]; }
			}
			p = c;
			if (rivi[c] == 'o') {
				mins[c]++;
				maxs[c]++;
				offs[c]++;
			}
		}
	}
	int tot = 0;
	for (int c = mins[size - 1]; c <= maxs[size - 1]; c++) {
		tot += bl[((size-1)<<11) + c - offs[size - 1]];
	}
	cout << tot << endl;
};


Test details

Test 1

Group: 1, 2, 3

Verdict:

input
10
..........
..........
..........
..........
...

correct output
1

user output
0

Test 2

Group: 1, 2, 3

Verdict:

input
10
o.o.......
..........
.o...o.oo.
..o...o.oo
...

correct output
9

user output
0

Test 3

Group: 1, 2, 3

Verdict:

input
10
o......o..
oo.oo.....
oooo....oo
o.......oo
...

correct output
14

user output
0

Test 4

Group: 1, 2, 3

Verdict:

input
10
..ooooo.oo
.ooo.o..oo
.....ooo.o
ooo.ooo.oo
...

correct output
12

user output
0

Test 5

Group: 1, 2, 3

Verdict:

input
10
oooooooooo
ooo....ooo
.oo.oo.ooo
oooooooooo
...

correct output
10

user output
0

Test 6

Group: 1, 2, 3

Verdict:

input
10
oooooooooo
oooooooooo
oooooooooo
oooooooooo
...

correct output
1

user output
0

Test 7

Group: 2, 3

Verdict:

input
100
.................................

correct output
1

user output
0

Test 8

Group: 2, 3

Verdict:

input
100
.........o.....o.........o..o....

correct output
114

user output
0

Test 9

Group: 2, 3

Verdict:

input
100
oo..oo.oo..o...o..o.o..o.........

correct output
151

user output
0

Test 10

Group: 2, 3

Verdict:

input
100
o..o.ooo..oo.o.o.o..o.o..o..oo...

correct output
143

user output
0

Test 11

Group: 2, 3

Verdict:

input
100
oo..oooooooooooo.oooo.o.o.oooo...

correct output
115

user output
0

Test 12

Group: 2, 3

Verdict:

input
100
oooooooooooooooooooooooooooooo...

correct output
1

user output
0

Test 13

Group: 3

Verdict:

input
1000
.................................

correct output
1

user output
0

Test 14

Group: 3

Verdict:

input
1000
o..........o...o...o...o.........

correct output
1121

user output
0

Test 15

Group: 3

Verdict:

input
1000
.o.............o....o.o......o...

correct output
1583

user output
0

Test 16

Group: 3

Verdict:

input
1000
oooooo.oooooo.....oooo..o...o....

correct output
1574

user output
0

Test 17

Group: 3

Verdict:

input
1000
ooooo.oo.oooooooooo...o...oo.....

correct output
1147

user output
0

Test 18

Group: 3

Verdict:

input
1000
oooooooooooooooooooooooooooooo...

correct output
1

user output
0