코드
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
int n,res,tc,sum,temp;
int main() {
cin >> tc;
while(tc--) {
cin >> n;
res = -987654321;
sum = 0;
for(int i = 0; i < n; i++) {
cin >> temp;
sum += temp;
res = max(res, sum);
if(sum < 0) sum = 0;
}
cout << res << '\n';
}
return 0;
}
값을 입력 받은 후, sum에 더해주고 res와 비교해서 큰 값을 찾는다. 만약 sum이 음수로 내려가면 최대가 될 수 없으므로 0으로 초기화 시켜준다.
'백준' 카테고리의 다른 글
[백준] 2042번 구간 합 구하기 C++ 코드 (0) | 2024.08.06 |
---|---|
[백준] 2568번 전깃줄 - 2 C++ 코드 (0) | 2024.08.06 |
[백준] 14495번 피보나치 비스무리한 수 C++ 코드 (0) | 2024.07.29 |
[백준] 17175번 피보나치는 지겨웡~ C++ 코드 (0) | 2024.07.29 |
[백준] 4097번 수익 C++ 코드 (0) | 2024.07.29 |