코딩 일지/baekjoon
2839 설탕 배달
훈감자
2023. 2. 11. 01:31
Dp 구현을 했더니 메모리 초과가 뜸 -> 귀찮아서 그냥 케이스 분류로 풂.
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long int INT;
INT n,ans;
int main()
{
cin >> n;
INT a = (n%5)%3==0?n/5+(n%5)/3:987654321;
if(a==987654321)
{
INT i = n;
INT d = 5;
INT chk = 987654321;
while(i-5>0)
{
i-=5;
if(i%3 == 0)
{
chk = min(chk,(n-i)/5+i/3);
}
}
if(chk!=987654321) a = chk;
}
INT b = n%5==0?n/5:987654321;
INT c = n%3==0?n/3:987654321;
ans = min({a,b,c});
INT p = ans!=987654321?ans:-1;
cout << p;
return 0;
}
정석대로 풀어봐야겠다..