Submission #1043541

# Submission time Handle Problem Language Result Execution time Memory
1043541 2024-08-04T10:50:04 Z idas Rectangles (IOI19_rect) C++17
10 / 100
1603 ms 69516 KB
#include "rect.h"
#include "bits/stdc++.h"
#define FOR(i, begin, end) for(int i=(begin); i<(end); i++)
#define pb push_back
#define s second
#define f first

using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;

const int MxN=2510;
int n, m, a[MxN][MxN], mxx[MxN][MxN], mxy[MxN][MxN];

long long count_rectangles(std::vector<std::vector<int> > A) {
	n=A.size(); m=A[0].size();
	FOR(i, 0, n) FOR(j, 0, m) a[i][j]=A[i][j];

	int ans=0;
	FOR(i, 1, n-1) {
		FOR(j, 1, m-1) {
			int x=n-2, y=m-2;
			FOR(k, i, n-1) {
				if(k>x) break;
				FOR(l, j, m-1) {
					if(l>y) break;
					if(a[k][l]>=a[i-1][l]) {
						x=k-1;
						break;
					}
					if(a[k][l]>=a[k][j-1]) {
						y=l-1;
						break;
					}

					if(k-1>=i) mxx[k][l]=max(mxx[k-1][l], a[k][l]);
					else mxx[k][l]=a[k][l];

					if(l-1>=j) mxy[k][l]=max(mxy[k][l-1], a[k][l]);
					else mxy[k][l]=a[k][l];

					bool ok=true;
					FOR(z, i, k+1) {
						ok&=mxy[z][l]<a[z][l+1];
					}
					FOR(z, j, l+1) {
						ok&=mxx[k][z]<a[k+1][z];
					}

					// cout << i << " " << j << " " << k << " " << l << endl;

					ans+=ok;
				}
			}
		}
	}

	return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1603 ms 4440 KB Output is correct
2 Correct 969 ms 4644 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2492 KB Output is correct
5 Correct 1 ms 4624 KB Output is correct
6 Correct 1 ms 4696 KB Output is correct
7 Correct 1 ms 4444 KB Output is correct
8 Correct 1 ms 4444 KB Output is correct
9 Correct 1 ms 4556 KB Output is correct
10 Correct 0 ms 2536 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Incorrect 416 ms 69516 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -