167722025-05-12 20:38:35tomi7Négyzetrács festéscpp17Hibás válasz 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';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/10
1Elfogadva1ms316 KiB
2Hibás válasz1ms316 KiB
3Hibás válasz1ms508 KiB
4Hibás válasz1ms348 KiB
5Hibás válasz1ms316 KiB
6Hibás válasz1ms316 KiB
7Hibás válasz1ms316 KiB
8Hibás válasz1ms316 KiB
9Hibás válasz1ms316 KiB
subtask20/10
1Hibás válasz358ms396 KiB
2Hibás válasz8ms400 KiB
3Hibás válasz1ms316 KiB
4Hibás válasz2ms316 KiB
5Hibás válasz2ms316 KiB
6Hibás válasz356ms400 KiB
7Hibás válasz4ms316 KiB
8Hibás válasz356ms396 KiB
9Hibás válasz168ms392 KiB
subtask30/10
1Hibás válasz1ms316 KiB
2Időlimit túllépés1.093s316 KiB
3Hibás válasz794ms508 KiB
4Hibás válasz1ms316 KiB
5Időlimit túllépés1.1s316 KiB
6Hibás válasz1ms508 KiB
7Hibás válasz1ms316 KiB
8Időlimit túllépés1.1s316 KiB
9Időlimit túllépés1.088s316 KiB
10Időlimit túllépés1.082s316 KiB
subtask40/20
1Hibás válasz4ms316 KiB
2Hibás válasz4ms316 KiB
3Időlimit túllépés1.077s316 KiB
4Időlimit túllépés1.077s316 KiB
5Időlimit túllépés1.1s316 KiB
6Hibás válasz850ms316 KiB
7Időlimit túllépés1.088s316 KiB
8Időlimit túllépés1.075s316 KiB
9Időlimit túllépés1.075s508 KiB
10Hibás válasz14ms412 KiB
11Időlimit túllépés1.1s316 KiB
12Időlimit túllépés1.08s316 KiB
13Időlimit túllépés1.078s508 KiB
subtask50/10
1Hibás válasz187ms2036 KiB
2Hibás válasz187ms1844 KiB
3Hibás válasz189ms1976 KiB
4Hibás válasz194ms2036 KiB
5Hibás válasz202ms1844 KiB
6Hibás válasz165ms1844 KiB
7Elfogadva1ms316 KiB
subtask60/20
1Hibás válasz404ms3380 KiB
2Időlimit túllépés1.07s3572 KiB
3Hibás válasz370ms3572 KiB
4Hibás válasz379ms3380 KiB
5Hibás válasz379ms3540 KiB
6Hibás válasz273ms3380 KiB
7Hibás válasz356ms3384 KiB
subtask70/20
1Hibás válasz171ms1984 KiB
2Hibás válasz188ms1844 KiB
3Hibás válasz252ms1856 KiB
4Hibás válasz300ms2036 KiB
5Időlimit túllépés1.085s1844 KiB
6Időlimit túllépés1.1s1984 KiB
7Időlimit túllépés1.083s2036 KiB
8Időlimit túllépés1.083s1844 KiB
9Időlimit túllépés1.087s1848 KiB
10Időlimit túllépés1.1s2060 KiB
11Időlimit túllépés1.08s2100 KiB
12Időlimit túllépés1.083s2356 KiB
13Időlimit túllépés1.082s3392 KiB
14Időlimit túllépés1.1s3460 KiB