본문 바로가기

백준/C++

[Baekjoon/C++] 31821번 - 학식 사주기

[백준] Baekjoon Online Judge

문제로 이동

 

문제

화석인 당신은 국민대학교에 갓 입학한 새내기들에게 학식을 사주기로 했다. 국민대학교 학생식당에서는 서로 다른 번호가 부여된 여러 코너에서 각기 다른 식사 메뉴를 판매하는데, 새내기들이 먹고 싶어 하는 메뉴가 다양해서 결제해야 하는 금액을 계산하는 데 어려움을 겪고 있다.

각 코너에서 판매하는 메뉴의 가격과 새내기들이 먹고 싶어 하는 메뉴를 판매하는 코너의 번호가 주어지면 결제해야 하는 금액의 총액을 출력해 보자.

 

입력

첫 번째 줄에 메뉴의 개수 N이 주어진다. (1≤N≤10)

그다음 N개의 줄에 걸쳐 각 메뉴의 가격이 주어진다. 그중 i번째 줄에는 i번째 코너에서 판매하는 메뉴의 가격 정수 Ai가 주어진다. (1000≤Ai≤10000)

그다음 줄에 새내기의 인원수 M이 주어진다. (1≤M≤10) 

그다음 M개의 줄에 걸쳐 각 새내기가 먹고 싶어 하는 메뉴를 판매하는 코너 번호 Bj가 주어진다. (1≤Bj≤N)

 

출력

당신이 결제해야 하는 금액의 총액을 출력한다.

 


풀이

#include <iostream>
using namespace std;

int N, M, result;
int menu[11];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> N;
    for (int i = 1; i <= N; i++) cin >> menu[i];
    cin >> M;

    while (M--) {
        int num;
        cin >> num;

        result += menu[num];
    }

    cout << result << '\n';

    return 0;
}