안녕하세요. 오늘은 진주로 갈 거예요.
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;
}
감사합니다.