Submission #1152880

#TimeUsernameProblemLanguageResultExecution timeMemory
1152880the_coding_poohRectangles (IOI19_rect)C++20
Compilation error
0 ms0 KiB
#include "rect.h"
#include <bits/stdc++.h>

#define uwu return

using namespace std;

const int MAX_N = 7e2 + 5, MAX_M = 7e2 + 5;

int down_min[MAX_N][MAX_M][MAX_M], left_min[MAX_M][MAX_N][MAX_N], up_min[MAX_N][MAX_M][MAX_M], right_min[MAX_M][MAX_N][MAX_N];

long long count_rectangles(vector<vector<int> > a) {
	int n = a.size(), m = a[0].size();
	for (int i = 0; i < n; i++){
		for (int j = 0; j < m; j++){
			for (int k = i + 1; k < n; k++){
				down_min[i][j][j] = k - i;
				if(a[k][j] >= a[i][j])
					break;
			}
			for (int k = j + 1; k < m; k++){
				right_min[j][i][i] = k - j;
				if(a[i][k] >= a[i][j])
					break;
			}
			for (int k = i - 1; k >= 0; k--){
				up_min[i][j][j] = i - k;
				if(a[k][j] >= a[i][j])
					break;
			}
			for (int k = j - 1; k >= 0; k--){
				left_min[j][i][i] = j - k;
				if(a[i][k] >= a[i][j])
					break;
			}
		}
	}
	for (int j = 0; j < m; j++){
		for (int l = 2; l <= n; l++){
			for (int i = 0; i < n; i++){
				left_min[j][i][i + l - 1] = min(left_min[j][i][i + l - 2], left_min[j][i + l - 1][i + l - 1]);
				right_min[j][i][i + l - 1] = min(right_min[j][i][i + l - 2], right_min[j][i + l - 1][i + l - 1]);
			}
		}
	}
	for (int j = 0; j < n; j++){
		for (int l = 2; l <= m; l++){
			for (int i = 0; i < m; i++){
				up_min[j][i][i + l - 1] = min(up_min[j][i][i + l - 2], up_min[j][i + l - 1][i + l - 1]);
				down_min[j][i][i + l - 1] = min(down_min[j][i][i + l - 2], down_min[j][i + l - 1][i + l - 1]);
			}
		}
	}
	long long ret = 0;
	for (int i1 = 0; i1 < n; i1++){
		for (int j1 = 0; j1 < m; j1++){
			for (int i2 = i1 + 2; i2 < n; i2++){
				for (int j2 = j1 + 2; j2 <= j1 + right_min[j1][i1 + 1][i2 - 1]; j2++){
					ret += (j1 >= j2 - left_min[j2][i1 + 1][i2 - 1]) && (i2 <= i1 + down_min[i1][j1 + 1][j2 - 1]) && (i1 >= i2 - up_min[i2][j1 + 1][j2 - 1]);
				}
			}
		}
	}
	uwu ret;
}

Compilation message (stderr)

/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(vterminate.o): in function `__gnu_cxx::__verbose_terminate_handler()':
(.text._ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x1e): relocation truncated to fit: R_X86_64_PC32 against `.bss._ZZN9__gnu_cxx27__verbose_terminate_handlerEvE11terminating'
(.text._ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x2b): relocation truncated to fit: R_X86_64_PC32 against `.bss._ZZN9__gnu_cxx27__verbose_terminate_handlerEvE11terminating'
/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(ios_init.o): in function `std::ios_base::Init::Init()':
(.text._ZNSt8ios_base4InitC2Ev+0x1c): failed to convert GOTPCREL relocation against '_ZNSt8ios_base4Init11_S_refcountE'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x60): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x67): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x72): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x87): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x92): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xa7): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xb2): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xc1): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xd4): additional relocation overflows omitted from the output
(.text._ZNSt8ios_base4InitC2Ev+0x1c6): failed to convert GOTPCREL relocation against '_ZSt4cout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x260): failed to convert GOTPCREL relocation against '_ZSt3cin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x2e2): failed to convert GOTPCREL relocation against '_ZSt4cerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x353): failed to convert GOTPCREL relocation against '_ZSt4clog'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x541): failed to convert GOTPCREL relocation against '_ZSt5wcout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x5e5): failed to convert GOTPCREL relocation against '_ZSt4wcin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x670): failed to convert GOTPCREL relocation against '_ZSt5wcerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x6e9): failed to convert GOTPCREL relocation against '_ZSt5wclog'; relink with --no-relax
collect2: error: ld returned 1 exit status