290362026-06-03 20:24:59algoproDombokcpp17Futási hiba 75/100776ms524288 KiB
// UUID: e675fc51-4bce-499c-9e91-eab11acaf16e
#include <bits/stdc++.h>
using ll = long long;
using namespace std;

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    // dp[i][j][epult (0/1)] = első i domb közül j db-ra építek, ha az utolsóra nincs/van ház
	// dp[i][j][0] = min{dp[i-1][j][1], dp[i-2][j][1], ...} - ha nem lehet vmi, INF
    // dp[i][j][1] = dp[i-1][j-1]

    int n; cin >> n;
    vector<int> a(n+1, 0);
    for (int i = 1; i <= n; i++) cin >> a[i];

    vector<vector<vector<int>>> dp(n+1, vector<vector<int>>(n+1, vector<int>(2, 1e9)));
    dp[0][0][0] = dp[1][0][0] = dp[1][1][1] = 0;
    
    for (int i = 2; i <= n; i++) {
        dp[i][0][0] = 0;
        for (int j = 1; j <= (n+1) / 2; j++) {
            int both = max(0, a[i-1] - min(a[i-2], a[i]) + 1);
            // dp[i][j][0]
            dp[i][j][0] = min(dp[i-1][j][0], dp[i-1][j][1] + max(0, a[i] - a[i-1] + 1));
            // dp[i][j][1] - előtte nem áll ház, itt áll
            dp[i][j][1] = min(dp[i-2][j-1][0] + max(0, a[i-1] - a[i] + 1), dp[i-2][j-1][1] + both);
        }
    }

    for (int i = 1; i <= (n+1) / 2; i++) {
        cout << min(dp[n][i][0], dp[n][i][1]) << " ";
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
00/0
1Elfogadva1ms316 KiB
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
17/7
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms424 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms500 KiB
10Elfogadva1ms316 KiB
11Elfogadva2ms376 KiB
12Elfogadva1ms316 KiB
13Elfogadva1ms508 KiB
215/15
14Elfogadva2ms316 KiB
15Elfogadva2ms508 KiB
16Elfogadva2ms512 KiB
17Elfogadva2ms316 KiB
18Elfogadva2ms316 KiB
19Elfogadva3ms316 KiB
20Elfogadva2ms316 KiB
21Elfogadva1ms372 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms356 KiB
28Elfogadva2ms544 KiB
313/13
29Elfogadva2ms564 KiB
30Elfogadva3ms820 KiB
31Elfogadva3ms820 KiB
32Elfogadva3ms820 KiB
33Elfogadva2ms868 KiB
34Elfogadva2ms980 KiB
35Elfogadva3ms820 KiB
36Elfogadva2ms820 KiB
37Elfogadva3ms1040 KiB
38Elfogadva4ms1012 KiB
39Elfogadva3ms820 KiB
40Elfogadva3ms820 KiB
418/18
41Elfogadva2ms1004 KiB
42Elfogadva3ms820 KiB
43Elfogadva2ms820 KiB
44Elfogadva3ms836 KiB
45Elfogadva1ms316 KiB
46Elfogadva1ms384 KiB
47Elfogadva4ms820 KiB
48Elfogadva2ms820 KiB
49Elfogadva2ms820 KiB
522/22
50Elfogadva2ms820 KiB
51Elfogadva2ms820 KiB
52Elfogadva28ms14136 KiB
53Elfogadva28ms14132 KiB
54Elfogadva28ms14004 KiB
55Elfogadva26ms14180 KiB
56Elfogadva28ms13976 KiB
57Elfogadva26ms14164 KiB
58Elfogadva26ms14060 KiB
59Elfogadva28ms14084 KiB
60Elfogadva28ms14124 KiB
61Elfogadva26ms14044 KiB
62Elfogadva25ms14068 KiB
63Elfogadva28ms14180 KiB
60/25
64Elfogadva109ms55348 KiB
65Elfogadva97ms55348 KiB
66Futási hiba684ms524288 KiB
67Futási hiba693ms524288 KiB
68Futási hiba776ms524288 KiB
69Futási hiba772ms524288 KiB
70Kihagyva0s0 KiB
71Kihagyva0s0 KiB
72Kihagyva0s0 KiB
73Kihagyva0s0 KiB
74Kihagyva0s0 KiB
75Kihagyva0s0 KiB
76Kihagyva0s0 KiB