๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 25644๋ฒˆ - ์ตœ๋Œ€ ์ƒ์Šน

by ์•ˆ์ฃผํ˜• 2022. 9. 28.

๋ฌธ์ œ

 

25644๋ฒˆ: ์ตœ๋Œ€ ์ƒ์Šน

๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์žˆ๋Š” ์ •๊ท ์ด๋Š” ์•ž์œผ๋กœ $N$์ผ๊ฐ„ ANA ํšŒ์‚ฌ์˜ ์ฃผ๊ฐ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •๊ท ์ด๋Š” ์˜ˆ์ธกํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ANA ํšŒ์‚ฌ์˜ ์ฃผ์‹ ํ•œ ์ฃผ๋ฅผ ์ ๋‹นํ•œ ์‹œ์ ์— ์‚ฌ๊ณ 

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
#include <vector>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N; cin>>N;
    vector<int> v;
    for(int i=0; i<N; i++){
        int inp; cin>>inp;
        v.push_back(inp);
    }
    int max_num = -1;
    int ans = 0;
    for(int i=v.size()-1; i>=0; i--){
        if(v[i] > max_num){
            max_num = v[i];
        }
        ans = max(ans, max_num - v[i]);
    }
    cout<<ans;
}

 

ํ’€์ด

๋‹จ์ˆœํžˆ ๊ฐ€์žฅ ์‹ผ ๋‚ ์— ์‚ฌ์„œ ๊ฐ€์žฅ ๋น„์‹ผ ๋‚ ์— ํŒ”๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. 

๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•˜์—ฌ ์ง€๊ธˆ ๊นŒ์ง€ (๊ฐ€์žฅ ๋น„์‹ผ ๊ฐ€๊ฒฉ - ํ˜„์žฌ ๊ฐ€๊ฒฉ)์ธ ans = max(ans, max_num - v[i])๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹ต์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€