167722025-05-12 20:38:35tomi7Négyzetrács festéscpp17Wrong answer 0/1001.1s3572 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int m, n;
	cin >> m >> n;
	int sz = n + m - 1;
	vector<int> d(sz); // i - j in range [-(n-1), m-1] shifted by (n-1)
	vector<int> s(sz); // i + j in range [0, m+n-2]
	for (int i = 0; i < sz; i++) cin >> d[i];
	for (int i = 0; i < sz; i++) cin >> s[i];

	int best = INT_MAX;
	for (int mask = 0; mask < (1 << sz); ++mask) {
		// mask: bit 0 to sz-1 → d-átlók kiválasztva (ha bit=1), különben s-átlót válasszuk
		int cost = 0;
		vector<bool> used(sz, false);
		for (int i = 0; i < sz; ++i) {
			if ((mask >> i) & 1) {
				cost += d[i];
				used[i] = true;
			}
		}

		bool valid = true;
		// Ellenőrizzük, hogy minden cella le van-e fedve legalább egy átlóval
		for (int i = 0; i < m; ++i) {
			for (int j = 0; j < n; ++j) {
				int di = i - j + n - 1; // shift i−j
				int si = i + j;
				if (!used[di]) {
					// cellát az s-átlóval kell lefedni
					cost += s[si];
				}
			}
		}
		best = min(best, cost);
	}
	cout << best << '\n';
}
SubtaskSumTestVerdictTimeMemory
subtask10/10
1Accepted1ms316 KiB
2Wrong answer1ms316 KiB
3Wrong answer1ms508 KiB
4Wrong answer1ms348 KiB
5Wrong answer1ms316 KiB
6Wrong answer1ms316 KiB
7Wrong answer1ms316 KiB
8Wrong answer1ms316 KiB
9Wrong answer1ms316 KiB
subtask20/10
1Wrong answer358ms396 KiB
2Wrong answer8ms400 KiB
3Wrong answer1ms316 KiB
4Wrong answer2ms316 KiB
5Wrong answer2ms316 KiB
6Wrong answer356ms400 KiB
7Wrong answer4ms316 KiB
8Wrong answer356ms396 KiB
9Wrong answer168ms392 KiB
subtask30/10
1Wrong answer1ms316 KiB
2Time limit exceeded1.093s316 KiB
3Wrong answer794ms508 KiB
4Wrong answer1ms316 KiB
5Time limit exceeded1.1s316 KiB
6Wrong answer1ms508 KiB
7Wrong answer1ms316 KiB
8Time limit exceeded1.1s316 KiB
9Time limit exceeded1.088s316 KiB
10Time limit exceeded1.082s316 KiB
subtask40/20
1Wrong answer4ms316 KiB
2Wrong answer4ms316 KiB
3Time limit exceeded1.077s316 KiB
4Time limit exceeded1.077s316 KiB
5Time limit exceeded1.1s316 KiB
6Wrong answer850ms316 KiB
7Time limit exceeded1.088s316 KiB
8Time limit exceeded1.075s316 KiB
9Time limit exceeded1.075s508 KiB
10Wrong answer14ms412 KiB
11Time limit exceeded1.1s316 KiB
12Time limit exceeded1.08s316 KiB
13Time limit exceeded1.078s508 KiB
subtask50/10
1Wrong answer187ms2036 KiB
2Wrong answer187ms1844 KiB
3Wrong answer189ms1976 KiB
4Wrong answer194ms2036 KiB
5Wrong answer202ms1844 KiB
6Wrong answer165ms1844 KiB
7Accepted1ms316 KiB
subtask60/20
1Wrong answer404ms3380 KiB
2Time limit exceeded1.07s3572 KiB
3Wrong answer370ms3572 KiB
4Wrong answer379ms3380 KiB
5Wrong answer379ms3540 KiB
6Wrong answer273ms3380 KiB
7Wrong answer356ms3384 KiB
subtask70/20
1Wrong answer171ms1984 KiB
2Wrong answer188ms1844 KiB
3Wrong answer252ms1856 KiB
4Wrong answer300ms2036 KiB
5Time limit exceeded1.085s1844 KiB
6Time limit exceeded1.1s1984 KiB
7Time limit exceeded1.083s2036 KiB
8Time limit exceeded1.083s1844 KiB
9Time limit exceeded1.087s1848 KiB
10Time limit exceeded1.1s2060 KiB
11Time limit exceeded1.08s2100 KiB
12Time limit exceeded1.083s2356 KiB
13Time limit exceeded1.082s3392 KiB
14Time limit exceeded1.1s3460 KiB