정답률이 왜 낮지라는 생각이 들만큼 쉽게 풀었다.
우선 시험자에 있는 응시자의 수에서 B를 빼고
0 이하가 되면 PASS
0 초과가 되면
그 수를 C로 나눈 몫과 나머지를 구한다.
나머지가 0이면 답에 몫만 더해주고
나머지가 1 이상이면 몫+1을 답에 더해준다.
이때 답은 굉장히 높은 수(int가 못담는)가 나올 수 있기 때문에
long long으로 담아준다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include<stdio.h> #include<queue> #include<vector> #include<iostream> using namespace std; vector<int>room; int main() { //freopen("Text.txt", "r", stdin); int n; long long ans=0; scanf("%d", &n); for (int i = 0; i < n; i++) { int tmp; scanf("%d", &tmp); room.push_back(tmp); } int one, two; scanf("%d %d", &one, &two); for (int i = 0; i < n; i++) { int num; num = room[i]; room[i] -= one; ans++; if (room[i] > 0) { int a; int b; a=room[i] / two; b = room[i] % two; if (b != 0) { a++; } ans += a; } } cout << ans << endl; } | cs |
'BOJ' 카테고리의 다른 글
백준 2933 / 미네랄 (1) | 2019.02.21 |
---|---|
백준 2422 / 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (0) | 2019.02.20 |
백준 14890 / 경사로 (0) | 2019.02.19 |
백준 14503 / 로봇 청소기 (0) | 2019.02.19 |
백준 3190 / 뱀 (0) | 2019.02.18 |