백준

백준 소스코드 [C++] 1912 연속합

Hani_Levenshtein 2020. 10. 6. 10:05

www.acmicpc.net/problem/1912

 

1912번: 연속합

첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

백준 소스코드 [C++] 1912 연속합

#include <iostream>
#include <algorithm>
#include <queue>
#include <string.h>
#include <limits.h>
#include <vector>
typedef long long ll;
using namespace std;
int n, arr[100001];
void dp() {
	int res = -987654321, sum=0;
	for (int i = 1;i <= n;i++) {
		if (sum < 0) sum = 0;
		sum = sum + arr[i];
		res = max(res, sum);
	}
	cout << res;
}
int main() {
	cin >> n;
	for (int i = 1;i <= n;i++) cin >> arr[i];
	dp();
	return 0;
}