【백준 11399】 ATM

세텐·2023년 12월 4일

백준 문제 풀이집

목록 보기
1/3
post-thumbnail

문제 보러가기

문제는 이미 읽었다고 가정합니다

풀이

한 사람이 돈을 인출하는데 필요한(대기 포함) 시간은 앞사람이 돈을 인출하는데 필요한(대기 포함) 시간 + 자신이 인출하는데 걸리는(대기 미포함) 시간이다.
즉, 모두가 인출하는데 필요한 최소시간을 구하려면, 각 사람이 돈을 인출하는데 걸리는(대기 미포함) 시간이 적은 사람부터 인출해야 한다.

#include <iostream>
using namespace std;

int n, arr[1005], brr[1005], ans;

int main()
{
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  
  cin>>n;
  for(int i=1;i<=n;i++)
  {
    cin>>arr[i];
  }
  
  sort(arr+1, arr+n+1);
  
  for(int i=1;i<=n;i++)
  {
    brr[i]=brr[i-1]+arr[i];
    ans+=brr[i];
  }
  
  cout<<ans;
  
  return 0;
}
profile
세텐입니다! 여기서 세텐은 靑天의 日本식 발음으로, 푸른 하늘이라는 뜻입니다!

0개의 댓글