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

[๋ฐฑ์ค€,c++] 13305๋ฒˆ - ์ฃผ์œ ์†Œ

by ์•ˆ์ฃผํ˜• 2022. 3. 11.

๋ฌธ์ œ

 

13305๋ฒˆ: ์ฃผ์œ ์†Œ

ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ธธ์ด๊ฐ€ ์ œ์ผ ์™ผ์ชฝ ๋„๋กœ๋ถ€ํ„ฐ N-1

www.acmicpc.net

 

์ฝ”๋“œ

17์ ์งœ๋ฆฌ ์ฝ”๋“œ
#include <iostream>
#include <vector>

using namespace std;


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N; cin>>N;
    vector<int> cost(N);
    vector<int> dist(N-1);
    
    int all_dist = 0;
    int index = 0, min_cost = 1e9+1;
    
    for(int i=0; i<N-1; i++){
        cin>>dist[i];
        all_dist += dist[i];
    }
    
    for(int i=0; i<N; i++){
        cin>>cost[i];
        if(cost[i]<min_cost && i != N-1){
            min_cost = cost[i];
            index = i;
        }
    }
    
    int ans = 0;
    
    for(int i=0; i<N-1; i++){
        if(i != index){
            int money = cost[i]*dist[i];
            ans += money;
            all_dist -= dist[i];
        }
        else{
            int money = cost[i]*all_dist;
            ans += money;
            break;
        }
    }
    cout<<ans;
    
}

 

100์ ์งœ๋ฆฌ ์ฝ”๋“œ
#include <iostream>
#include <vector>
#define ull unsigned long long

using namespace std;


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    ull N; cin>>N;
    ull ans = 0, min_cost = 1e9+1;
    vector<ull> cost(N);
    vector<ull> dist(N-1);
    
    for(int i=0; i<N-1; i++) cin>>dist[i];
    for(int i=0; i<N; i++) cin>>cost[i];
    
    for(int i=0; i<N-1; i++){
        min_cost = min(cost[i],min_cost);
        ans += min_cost * dist[i];
    }
    
    cout<<ans;

    
}

 

ํšŒ๊ณ 

์˜ค๋Š˜ ๋ถ€ํ„ฐ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ์‹œ๊ฐ„์„ ์žฌ๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์„ ์žฌ๊ณ  ํ•œ๋ฒˆ ํ’€์–ด๋ณด์•˜๋Š”๋ฐ 17์ ๊นŒ์ง€ ์ฝ”๋“œ๊นŒ์ง€๋Š” 28๋ถ„ ๋งŒ์— ํ’€์–ด์„œ ๋‚˜๋ฆ„ ์„ ๋ฐฉํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ 100์ ์งœ๋ฆฌ ์ฝ”๋“œ๊นŒ์ง€๋Š” ๋Œ€๋žต 60๋ถ„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‹จ์ˆœํ•œ ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ์˜€๋Š”๋ฐ ์™œ ๋ฒˆ๋œฉ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•˜์„๊นŒ.. ๋งž์ถ”๋”๋ผ๋„ ์‹œ๊ฐ„์ด ์ด ์ •๋„ ๊ฑธ๋ฆฌ๋ฉด ์•„๋ฌด ์†Œ์šฉ์—†์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์ฐธ.. ๋” ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€