0pts,求助(玄一关)
查看原帖
0pts,求助(玄一关)
1048767
WJX114514楼主2024/10/17 13:34
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=2e5+10;
int n,m;
int Man[20],dp[maxn];
signed main(){
	memset(dp,0x3f,sizeof(dp));
	cin>>n;
	m=ceil(sqrt(sqrt(n))+1);
	for(int i=1;i<=m;i++) Man[i]=i*i*i*i;
	dp[0]=0;
	for(int i=1;i<=m;i++){
		dp[i]=i;
		for(int j=1;j<=n;j++){
			dp[j]=min(dp[j],dp[j-Man[i]]+1);
		}
	}
	cout<<dp[n];
	return 0;
}
2024/10/17 13:34
加载中...