1일1알

백준 1500 최대 곱 C++ 본문

알고리즘

백준 1500 최대 곱 C++

영춘권의달인 2021. 12. 27. 12:42

https://www.acmicpc.net/problem/1500

 

처음에 백트래킹으로 해결하려다가 시간초과가 났다.

곱하는 수들의 차이가 적을수록 곱이 커지기 때문에 그것을 이용해서 문제를 해결하였다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>

using namespace std;
typedef long long ll;

ll s, k;
ll ans = -1;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	cin >> s >> k;

	ll a = s / k;
	ll b = s % k;

	ll ans = 1;

	for (int i = 0; i < b; i++) {
		ans *= a + 1;
	}
	for (int i = 0; i < k - b; i++) {
		ans *= a;
	}
	cout << ans;
};

'알고리즘' 카테고리의 다른 글

백준 7562번 나이트의 이동 C++  (0) 2021.12.29
백준 14502번 연구소 C++  (0) 2021.12.28
백준 14496번 그대, 그머가 되어 C++  (0) 2021.12.26
백준 1052번 물병 C++  (0) 2021.12.25
백준 1790번 수 이어 쓰기 2 C++  (0) 2021.12.24