일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BOJ
- 삼성기출
- 7576
- SW Expert Academy
- oj구축
- 개발
- 역테
- STL
- 삼성
- 비트마스킹
- 온라인저지시스템구축
- 모의 SW역량테스트
- 역량테스트
- xcode
- SW역량테스트
- 온라인 저지 구축
- 백준
- IOS
- c++
- 소스코드
- SWEA
- a형
- oj
- 알고리즘
- 풀이
- 모의 SW 역량테스트
- 저지시스템구축
- SWIFT
- hustoj
- 구축
Archives
- Today
- Total
꾸르꾸르
[BOJ] 13458번 시험감독 풀이 (C++) 본문
2017.10.6에 작성된 글입니다
문제링크
https://www.acmicpc.net/problem/13458
풀이방법
int 의 범위를 생각해야하는 문제
int의 범위는 -20억 ~ 20억! 따라서 long long 으로 접근해야함.
자세한 내용은 코드에 달린 주석을 참고!
소스코드
#include <iostream>
using namespace std;
int main()
{
int N;
int A[1000000];
int B, C;
long long Answer = 0;//만약 각 시험장마다 부감독관이 1,000,000명이고 모든 시험장이 1,000,000이라면
//1,000,000,000,000명의 부감독관 -> int 범위를 넘어선다! 따라서 long long 으로 선언!
cin >> N;
for (int i = 0; i < N; i++)
cin >> A[i];//i번 시험장에 있는 응시자의 수
cin >> B;//총감독관이 한방에서 감시할 수 있는 응시자의 수 B명
cin >> C;//부감독관이 한방에서 감시할 수 있는 응시자의 수 C명
for (int i = 0; i < N; i++) {
A[i] -= B;//응시자의수 - 총감독관이 감시할 수 있는 응시자의 수
Answer++;//총감독관 1명
if (A[i] > 0) {//아직도 감시할 응시자가 남아있다면
Answer += A[i] / C;//부감독관 배정
if (A[i] % C > 0)
Answer++;
}
}
cout << Answer << endl;
return 0;
}
'코딩, 알고리즘, 문제풀이 > BOJ 백준' 카테고리의 다른 글
[BOJ] 14503번 로봇 청소기 문제풀이 (C++) (0) | 2019.05.17 |
---|---|
[BOJ] 14502번 연구소 문제풀이 (C++) (0) | 2019.05.16 |
[BOJ] 14499번 주사위 굴리기 풀이 (C++) (0) | 2019.05.13 |
[BOJ] 14500번 테트로미노 문제풀이 (C++) (0) | 2019.05.12 |
[BOJ] 14501번 퇴사 문제풀이 (C++) (0) | 2019.05.11 |
Comments