ALGORITHM

1912_연속합

서울소시민 2017. 10. 10. 23:17

문제 : 수열을 입력받아서 그 수열의 연속되는 숫자들의 합 중 최대 값을 찾는 문제



#include<iostream>
#include<algorithm>
using namespace std;

int main() {

	int input;

	cin >> input;//몇개 입력할래?
	
	int *dp = new int[input];
	int *res = new int[input];//값이 저장되는 배열
	for (int a = 0; a < input; a++) {
		cin >> res[a];
	}//값을 배열에 저장


	dp[0] = res[0];
	for (int i = 1; i < input; i++) {
		dp[i] = max(dp[i - 1] + res[i], res[i]);
	}


	int dab;
	for (int j = 0; j < input; j++) {
		if (j == 0) {
			dab = dp[j];
		}
		else if (dp[j] > dab)
			dab = dp[j];
	}


	cout << dab;

}

'ALGORITHM' 카테고리의 다른 글

문제접근방법1_과정 수식화 하기  (0) 2017.10.17
10844_쉬운계단 수  (0) 2017.10.12
1316_그룹단어체커  (0) 2017.10.03
1076_저항  (0) 2017.09.29
집합_11723  (0) 2017.09.28