본문 바로가기
Computer Science

by OKOK 2019. 2. 3.

1. 하나의 포문으로

2. 그리고 대소 비교 2개로 인해서

3. 한 단락 중 최대값과

4. 한 단락 중 음수 인지를 체크 할 수 있음 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <iostream>
#include <algorithm>
 
using namespace std;
 
#define FOR(i, n) for(int i=0; i<n; ++i)
#define FORe(i, a, b) for(int i=a; i<b; ++i)
 
int main()
{
    freopen("input.txt""r", stdin);
    int T;
    cin >> T;
    
    FORe(test_case, 1, T + 1)
    {
        int n;
        cin >> n;
        int arr[10];
        int total = 0;
        int maxAt = -9999;
 
        FOR(i, n)
        {
            cin >> arr[i];
            total = max(0, total) + arr[i]; 
// 이전까지 점수 total + arr[i] 현재 -> total 갱신 // 현재보고 있는 단락을 의미함 // 음수이면 0 부터시작함
             maxAt = max(total, maxAt); 
// 현재까지 최고값과 현재 보고 있는 연속된 수 중 큰 수 // 음수이면 이전 묶음이 큼
        }
        cout << "#" << test_case << ' ' << maxAt << '\n';
    }
    return 0;
}
cs

 


'Computer Science' 카테고리의 다른 글

이진 문자열 복원  (0) 2019.02.08
운동  (0) 2019.02.07
조합  (0) 2019.02.03
세제곱근을 찾아라  (0) 2019.02.01
혜리의 숫자 나누기  (0) 2019.02.01

댓글