QAQ
把数的4次方看做质量,价值为1.
转化为完全背包问题。
预处理到18即可。

#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int w[19];
int dp[110000];
int main()
{
	memset(dp,127/3,sizeof(dp));
	for(int i=1;i<=18;i++)
	 w[i]=i*i*i*i;
	dp[0]=0;
	int m;
	scanf("%d",&m);
	for(int i=1;i<=18;i++)
	 for(int j=w[i];j<=m;j++)
	  dp[j]=min(dp[j],dp[j-w[i]]+1);
	
	printf("%d",dp[m]);
}