290352026-06-03 20:24:34sarminDombokcpp17Futási hiba 75/100773ms524288 KiB
#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
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva2ms500 KiB
13Elfogadva1ms316 KiB
215/15
14Elfogadva3ms316 KiB
15Elfogadva2ms316 KiB
16Elfogadva2ms316 KiB
17Elfogadva2ms316 KiB
18Elfogadva1ms316 KiB
19Elfogadva1ms316 KiB
20Elfogadva1ms316 KiB
21Elfogadva1ms508 KiB
22Elfogadva1ms316 KiB
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms316 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms316 KiB
313/13
29Elfogadva1ms564 KiB
30Elfogadva2ms820 KiB
31Elfogadva2ms1176 KiB
32Elfogadva2ms820 KiB
33Elfogadva2ms820 KiB
34Elfogadva2ms820 KiB
35Elfogadva2ms1016 KiB
36Elfogadva2ms760 KiB
37Elfogadva2ms820 KiB
38Elfogadva2ms820 KiB
39Elfogadva2ms820 KiB
40Elfogadva2ms836 KiB
418/18
41Elfogadva2ms956 KiB
42Elfogadva2ms820 KiB
43Elfogadva2ms1004 KiB
44Elfogadva2ms820 KiB
45Elfogadva2ms316 KiB
46Elfogadva3ms316 KiB
47Elfogadva3ms820 KiB
48Elfogadva2ms820 KiB
49Elfogadva2ms820 KiB
522/22
50Elfogadva2ms820 KiB
51Elfogadva2ms820 KiB
52Elfogadva26ms14156 KiB
53Elfogadva25ms14208 KiB
54Elfogadva28ms14044 KiB
55Elfogadva28ms14220 KiB
56Elfogadva25ms14040 KiB
57Elfogadva28ms14172 KiB
58Elfogadva28ms14108 KiB
59Elfogadva25ms13984 KiB
60Elfogadva26ms14132 KiB
61Elfogadva26ms14132 KiB
62Elfogadva28ms14132 KiB
63Elfogadva28ms14024 KiB
60/25
64Elfogadva98ms55356 KiB
65Elfogadva98ms55348 KiB
66Futási hiba764ms524288 KiB
67Futási hiba773ms524288 KiB
68Futási hiba680ms524288 KiB
69Futási hiba683ms524288 KiB
70Kihagyva0s0 KiB
71Kihagyva0s0 KiB
72Kihagyva0s0 KiB
73Kihagyva0s0 KiB
74Kihagyva0s0 KiB
75Kihagyva0s0 KiB
76Kihagyva0s0 KiB