티스토리 뷰

반응형

www.acmicpc.net/problem/11501

 

11501번: 주식

입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타

www.acmicpc.net


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 그리디 알고리즘

 


 

⊙ 문제 접근 과정

 

처음엔 순방향으로 풀어보려 했는데 생각보다 구현이 어려워서

날짜를 거꾸로하여 풀었다.


 

⊙ 문제 풀이

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
typedef long long ll;

int T,N;


int main() {
    cin >> T;

    while(T--) {
        cin >> N;
        vector<int> v;

        for(int i=0;i<N;i++) {
            int x;
            cin >> x;
            v.push_back(x);
        }

        ll result=0;
        int max_value=-1;

        for(int i=N-1;i>=0;i--) {
            max_value=max(max_value,v[i]);
            result+=max_value-v[i];
        }

        cout << result << "\n";
    }
}

⊙ 결과

 


⊙ 마무리

 

 

내 주식만 떨어져

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함