선택은 나의 것

[SWEA] 1859 백만 장자 프로젝트 본문

☽ Algorithm/SWEA

[SWEA] 1859 백만 장자 프로젝트

Algoribi 2021. 8. 3. 13:43

문제

SWEA 1859 : 백만 장자 프로젝트

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

접근

 입력받은 배열을 뒤에서부터 탐색해나가며 max값보다 큰 수를 만날 때마다 갱신해주며, max값보다 작은 수를 만나면 'max값 - 현재 값'(즉, 매매에서의 차익)을 ans에 더해준다.

코드

#include <iostream>
#include <vector>

#define endl "\n"
using namespace std;

int main() {
    int test;
    cin >> test;
    for (int t = 1; t <= test; t++) {
        int n;
        cin >>n;
        vector<int> v;
        for (int i = 0; i < n; i++) {
            int num;
            cin >> num;
            v.push_back(num);
        }
        long long ans = 0;
        int chk = 0;
        for (int i = v.size() - 1 ; i >= 0; i--) {
            if (v[i] > chk) {
                chk = v[i];
                continue;
            } else
                ans += chk - v[i];

        }
        cout << "#" << t << " " << ans << endl;
    }
    return 0;
}

 

깃 허브 주소 : https://github.com/algoribi/algorithm-study

'☽ Algorithm > SWEA' 카테고리의 다른 글

[SWEA] 11688 Calkin-Wilf tree 1  (0) 2021.08.11
[SWEA] 1983 조교의 성적 매기기  (0) 2021.08.04
[SWEA] 2007 패턴 마디의 길이  (0) 2021.08.02
[SWEA] 2001 파리 퇴치  (0) 2021.07.21
[SWEA] 10059 유효기간  (0) 2020.08.11
Comments