[C/C++] 나동빈 가장 큰 수 만들기, Greedy
문제 다양한 숫자들로 구성된 배열이 있을 때, 주어진 수를 M번 더하여 가장 큰 수를 만들되, 해당 숫자의 인덱스에 해당하는 수가 연속 K번 초과하여 더해질 수 없다. 예시1) N={2, 4, 5, 4, 6}, M=8, K=3 정답: 6+6+6+5+6+6+6+5=46 예시2) N={3, 4, 3, 4, 3}, M=7, K=2 정답: 4+4+4+4+4+4+4=28 첫 번째 줄에 배열의 크기 N(2≤N≤1,000), M(1≤M≤10,000), K(1≤K≤10,000)의 자연수가 주어지며 각 자연수는 공백으로 구분한다. 두 번째 줄에 자연수인 배열의 원소가 주어지며 각 원소는 공백으로 구분한다. K는 항상 M보다 작거나 같아야 한다. 코드 #include #include #include #include #in..
2023. 2. 2.
[C/C++] 백준 11047, Greedy
문제 11047번: 동전 0 (acmicpc.net) 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드1 #include #include #include #include using namespace std; int main() { int n, k; int t; int m = 0; vector arr, cnt; //arr:동전의 액면가, cnt: 동전의 개수 scanf("%d %d", &n, &k); for (int i = 0; i < n; i+..
2022. 12. 10.