Submission #428543

# Submission time Handle Problem Language Result Execution time Memory
428543 2021-06-15T12:45:28 Z Hazem Rectangles (IOI19_rect) C++14
27 / 100
934 ms 199972 KB
#include "rect.h"
#include <bits/stdc++.h>

#define LL long long

using namespace std;

const int N = 250;

int n,m;
int col[N][N][N],row[N][N][N];

long long count_rectangles(std::vector<std::vector<int> > a) {

	n = a.size();
	m = a[0].size();

	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++){
			int mx = 0;
			for(int k=j+1;k<m;k++){
				if(k-j>1&&mx<a[i][j]&&mx<a[i][k])
					row[j][k][i]++;
				mx = max(mx,a[i][k]);
			}
		}

	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++){
			int mx = 0;
			for(int k=j+1;k<n;k++){
				if(k-j>1&&mx<a[j][i]&&mx<a[k][i])
					col[j][k][i]++;
				if(i)
					col[j][k][i] += col[j][k][i-1];
				mx = max(mx,a[k][i]);
			}
		}

	
	LL ans = 0;
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			for(int k=j+1;k<m;k++){
				int  q = 1;
				for(int k1 = i+1;k1<n;k1++){
					if(k1-i>1&&k-j>1)
						ans += q&(col[i][k1][k-1]-col[i][k1][j]==(k-j-1));
					q &= row[j][k][k1];
				}
			}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 1 ms 948 KB Output is correct
5 Correct 2 ms 844 KB Output is correct
6 Correct 2 ms 1228 KB Output is correct
7 Correct 1 ms 844 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 1100 KB Output is correct
10 Correct 1 ms 1100 KB Output is correct
11 Correct 2 ms 1228 KB Output is correct
12 Correct 2 ms 1228 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 972 KB Output is correct
20 Correct 1 ms 844 KB Output is correct
21 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 1 ms 948 KB Output is correct
5 Correct 2 ms 844 KB Output is correct
6 Correct 2 ms 1228 KB Output is correct
7 Correct 1 ms 844 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 1100 KB Output is correct
10 Correct 1 ms 1100 KB Output is correct
11 Correct 2 ms 1228 KB Output is correct
12 Correct 2 ms 1228 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 972 KB Output is correct
20 Correct 1 ms 844 KB Output is correct
21 Correct 1 ms 332 KB Output is correct
22 Correct 21 ms 4156 KB Output is correct
23 Correct 22 ms 4172 KB Output is correct
24 Correct 21 ms 4044 KB Output is correct
25 Correct 22 ms 4556 KB Output is correct
26 Correct 23 ms 5556 KB Output is correct
27 Correct 23 ms 5768 KB Output is correct
28 Correct 23 ms 5452 KB Output is correct
29 Correct 8 ms 4172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 1 ms 948 KB Output is correct
5 Correct 2 ms 844 KB Output is correct
6 Correct 2 ms 1228 KB Output is correct
7 Correct 1 ms 844 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 1100 KB Output is correct
10 Correct 1 ms 1100 KB Output is correct
11 Correct 2 ms 1228 KB Output is correct
12 Correct 2 ms 1228 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 21 ms 4156 KB Output is correct
18 Correct 22 ms 4172 KB Output is correct
19 Correct 21 ms 4044 KB Output is correct
20 Correct 22 ms 4556 KB Output is correct
21 Correct 23 ms 5556 KB Output is correct
22 Correct 23 ms 5768 KB Output is correct
23 Correct 23 ms 5452 KB Output is correct
24 Correct 8 ms 4172 KB Output is correct
25 Correct 1 ms 204 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 1 ms 972 KB Output is correct
28 Correct 1 ms 844 KB Output is correct
29 Correct 1 ms 332 KB Output is correct
30 Correct 775 ms 22248 KB Output is correct
31 Correct 780 ms 22192 KB Output is correct
32 Correct 790 ms 22236 KB Output is correct
33 Correct 799 ms 23748 KB Output is correct
34 Correct 821 ms 30532 KB Output is correct
35 Correct 934 ms 30892 KB Output is correct
36 Correct 812 ms 25796 KB Output is correct
37 Correct 770 ms 26444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 1 ms 948 KB Output is correct
5 Correct 2 ms 844 KB Output is correct
6 Correct 2 ms 1228 KB Output is correct
7 Correct 1 ms 844 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 1100 KB Output is correct
10 Correct 1 ms 1100 KB Output is correct
11 Correct 2 ms 1228 KB Output is correct
12 Correct 2 ms 1228 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 21 ms 4156 KB Output is correct
18 Correct 22 ms 4172 KB Output is correct
19 Correct 21 ms 4044 KB Output is correct
20 Correct 22 ms 4556 KB Output is correct
21 Correct 23 ms 5556 KB Output is correct
22 Correct 23 ms 5768 KB Output is correct
23 Correct 23 ms 5452 KB Output is correct
24 Correct 8 ms 4172 KB Output is correct
25 Correct 775 ms 22248 KB Output is correct
26 Correct 780 ms 22192 KB Output is correct
27 Correct 790 ms 22236 KB Output is correct
28 Correct 799 ms 23748 KB Output is correct
29 Correct 821 ms 30532 KB Output is correct
30 Correct 934 ms 30892 KB Output is correct
31 Correct 812 ms 25796 KB Output is correct
32 Correct 770 ms 26444 KB Output is correct
33 Correct 1 ms 204 KB Output is correct
34 Correct 1 ms 204 KB Output is correct
35 Correct 1 ms 972 KB Output is correct
36 Correct 1 ms 844 KB Output is correct
37 Correct 1 ms 332 KB Output is correct
38 Runtime error 330 ms 199972 KB Execution killed with signal 11
39 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 17 ms 4992 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 972 KB Output is correct
4 Correct 1 ms 844 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Runtime error 82 ms 52872 KB Execution killed with signal 11
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 2 ms 972 KB Output is correct
4 Correct 1 ms 948 KB Output is correct
5 Correct 2 ms 844 KB Output is correct
6 Correct 2 ms 1228 KB Output is correct
7 Correct 1 ms 844 KB Output is correct
8 Correct 1 ms 716 KB Output is correct
9 Correct 2 ms 1100 KB Output is correct
10 Correct 1 ms 1100 KB Output is correct
11 Correct 2 ms 1228 KB Output is correct
12 Correct 2 ms 1228 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 21 ms 4156 KB Output is correct
18 Correct 22 ms 4172 KB Output is correct
19 Correct 21 ms 4044 KB Output is correct
20 Correct 22 ms 4556 KB Output is correct
21 Correct 23 ms 5556 KB Output is correct
22 Correct 23 ms 5768 KB Output is correct
23 Correct 23 ms 5452 KB Output is correct
24 Correct 8 ms 4172 KB Output is correct
25 Correct 775 ms 22248 KB Output is correct
26 Correct 780 ms 22192 KB Output is correct
27 Correct 790 ms 22236 KB Output is correct
28 Correct 799 ms 23748 KB Output is correct
29 Correct 821 ms 30532 KB Output is correct
30 Correct 934 ms 30892 KB Output is correct
31 Correct 812 ms 25796 KB Output is correct
32 Correct 770 ms 26444 KB Output is correct
33 Runtime error 330 ms 199972 KB Execution killed with signal 11
34 Halted 0 ms 0 KB -