1421 - 나무꾼 이다솜
2025. 2. 26. 15:27ㆍPS/백준
문제
https://www.acmicpc.net/problem/1421
느낀점
구현 기본 문제, 문제를 정확하게 읽어야 엣지 케이스를 잘 대비할 수 있다.. 구현 문제 더 풀자
풀이
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N, C, W;
cin >> N >> C >> W;
vector<int> arr(N);
int maxtree = 0;
long long maxValue = 0;
for (int i = 0; i < N; i++)
{
cin >> arr[i];
maxtree = max(maxtree, arr[i]);
}
for (int i = 0; i < maxtree; i++)
{
int cnt = 0;
int div = i + 1;
long long money = 0;
for (int j = 0; j < N; j++)
{
long long tempMoney = 0;
if (div > arr[j])
{
continue;
}
cnt = arr[j] / div;
tempMoney += cnt * div * W;
if (arr[j] % div == 0)
{
tempMoney -= (cnt - 1) * C;
}
else
{
tempMoney -= cnt * C;
}
if (tempMoney < 0)
{
continue;
}
else
{
money += tempMoney;
}
}
cnt = 0;
maxValue = max(maxValue, money);
}
cout << maxValue;
return 0;
}
'PS > 백준' 카테고리의 다른 글
1986 - 체스 (0) | 2025.02.26 |
---|---|
1713 - 후보 추천하기 (0) | 2025.02.26 |
1283 - 단축키 지정 (0) | 2025.02.26 |
28066 - 타노스는 요세푸스가 밉다 (0) | 2025.02.25 |
6137 - 문자열 생성 (0) | 2025.02.25 |