반응형
https://www.acmicpc.net/problem/1484
1484번: 다이어트
성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다.
www.acmicpc.net
[ 문제풀이 ]
1. 최고 몸무게가 G가 될 때까지 반복문을 돌아주면서 현재 몸무게의 제곱 - 기억하는 몸무게의 제곱의 값이 G보다 크다면 s++, G보다 작다면 e++을 해주면서 G와 값이 같다면 ans에 e값을 넣어줍니다.
2. ans의 사이즈가 0이라면 -1을 출력하고 그렇지 않다면 모두 출력합니다.
[ 소스코드 ]
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 | #include<iostream> #define ll long long #include<vector> using namespace std; ll G; vector<ll> ans; int main() { scanf("%lld", &G); ll s = 1; ll e = 2; while (e < G) { ll cur = e * e; ll before = s * s; if (cur - before == G) { ans.push_back(e); e++; } else if (cur - before > G) { s++; } else { e++; } } if (ans.size() == 0) { printf("-1"); return 0; } for (auto& next : ans) { printf("%lld\n", next); } } | cs |
반응형
'백준' 카테고리의 다른 글
[ 백준 ] 2749번 - 피보나치 수 3 (C++) (0) | 2023.04.14 |
---|---|
[ 백준 ] 2436번 - 공약수 (C++) (0) | 2023.04.13 |
[ 백준 ] 20366번 - 같이 눈사람 만들래? (C++) (0) | 2023.04.11 |
[ 백준 ] 13144번 - List of Unique Numbers (C++) (0) | 2023.04.10 |
[ 백준 ] 22862번 - 가장 긴 짝수 연속한 부분 수열 (large) (C++) (0) | 2023.04.09 |