244292026-02-11 14:59:00algoproSzigetek (35 pont)cpp17Accepted 35/3525ms1268 KiB
// UUID: 3927f242-544b-4a51-9b2a-d78149f6bed2
#include <bits/stdc++.h>
using namespace std;

/*
6
3 5  9  7  1  6
3 8 12 15 13 19

5 2  6  3  3  1  9  2  2  4  1  1  7  6  5
5 7 11 10 13 11 20 13 15 17 16 17 23 23 28  
Dinamikus Programozás
DP

dp[i]: az i. szigetre eljutás minimális összköltsége
dp[1] = dij[1]
dp[2] = dij[1]+dij[2]
i = 3..n:
dp[i] = min(dp[i-1], dp[i-2]) + dij[i]
*/

int main() {
	int n;
	cin>>n;
	vector<int>v(n);
	vector<int>dp(n);
	for(int i=0;i<n;i++){
		cin>>v[i];
	}
	dp[0]=v[0];
	dp[1]=v[0]+v[1];
	for(int i=2;i<n;i++){
	dp[i]=v[i]+min(dp[i-1],dp[i-2]);
	}
	cout<<dp[n-1];			
}
	  
SubtaskSumTestVerdictTimeMemory
base35/35
1Accepted0/01ms508 KiB
2Accepted0/025ms1080 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted1/11ms316 KiB
6Accepted1/11ms316 KiB
7Accepted1/11ms500 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms412 KiB
10Accepted2/22ms424 KiB
11Accepted2/22ms432 KiB
12Accepted2/22ms316 KiB
13Accepted2/23ms316 KiB
14Accepted2/24ms316 KiB
15Accepted2/28ms632 KiB
16Accepted2/213ms800 KiB
17Accepted2/217ms820 KiB
18Accepted2/219ms1044 KiB
19Accepted2/221ms1076 KiB
20Accepted2/221ms1076 KiB
21Accepted2/224ms1076 KiB
22Accepted2/224ms1268 KiB