진주로 가자! (Hard) (백준 30969)

코딩생활·2023년 12월 26일
1

백준문제풀이

목록 보기
140/308

안녕하세요. 오늘은 진주로 갈 거예요.

문제

https://www.acmicpc.net/problem/30969

아이디어

수의 범위중에서 유일하게 작은것이 있습니다.
바로 교통편의 요금이지요. 그래서 모든 교통편의 요금을 저장하지 말고 한 요금이 몇개 있는지 세어주면 메모리를 아낄 수 있습니다.

소스코드

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    long long N, i, cost, cnt[1010] = { 0 }, ans = 0, jinju;
    string s;

    cin >> N;
    for (i = 0; i < N; i++)
    {
        cin >> s >> cost;
        if (s == "jinju") jinju = cost;
        cnt[min(cost, (long long)(1001))]++;
    }

    for (i = jinju + 1; i <= 1001; i++)
        ans += cnt[i];

    cout << jinju << "\n" << ans;
}

감사합니다.

0개의 댓글