3079 입국 심사._타입 어떻게 할 것이냐?

·2025년 6월 16일
0

백준 알고리즘

목록 보기
178/270

개념 : long long은 몇자리까지.

  • longlong은 19자리까지이다.

long long 초기화시에_251001

  • 반드시 ll을 붙이자.

  • -> ll을 붙이지 않으면 int로 받아들여서 쓰레기값이 나온다.

  • ll을 붙이면 문제 없이 출력된다.

초기값 타입을 어떻게 정할까?

  • 입국심사대의 시간은 정해져 있꼬, 전체 사람들의 시간의 특정값을 정해야 한다.

1) 즉 입국 심사대의 최대시간 이 필요 하고
2) 기다리는 전체 최대 사람의 카운드 수가 필요하다.

  • -> 아예 크게 잡아야 한다. 작게 잡으면 입력 예제 2번에서 답이 나오지 않는다.

그래서 가장 크게 이렇게 잡아야 한다.


3) 결론으로 max(vector) * 기다리는 사람수 10의 9승.

  • type은 long long 인가? unsigned long long 인가?
    : 테이블의 숫자는 10만이고, table이 모두 1이라고 하자.

  • 만약 테이블 중 최대값인 10의 9승이 들어오면
    high 값은 10의 18승이다.

  • 즉 10의 18승 * 10만 이므로 모든 타입을 unsigned long long 으로 가야 한다.

결론

: 타입을 unsigned long long 으로 가야 한다.


초기값 설정 문제가 있다.

  • 숫자 범위를 잘 작성하자....
    : 0하나 빼먹어서 68퍼에서 틀림.

  • 왜 이렇게 설정했냐면?


1) 입력되는 t값이 모두 가장큰 10의 9승이 올수 있으므로
일단 최대값으로 했고,
2) m명 -> 가정값의 최대값이 10의 9승이다. 그래서 최소한 10의 9승을 가지고 진행한다.
3) 여러개의 심사대 중에서 제일 오래 걸리는 심사대의 시간이 10의 9승이고,
그 심사대에 m명의 사람이 있을 수 있따...

결론

: 위의 1,2,3번을 토대로 최악의 경우를 먼저 생각해보면 쉽게 high 값 설정했는지 알 수 있다.
-> 1개의 심사대가 있고, (걸리는 시간이 10의 9승 -> 여기서는 최대값을 작성한 거다.)
기다리는 사람이 m명(10의 9승)이다.

profile
🔥🔥🔥

0개의 댓글