我实在是搞不明白了为啥只有80分?剩下那20分我丢在哪里?
查看原帖
我实在是搞不明白了为啥只有80分?剩下那20分我丢在哪里?
177838
IGD_XW楼主2020/8/7 09:47
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m;
int a[50],b[50];
ll dp[50][210];
ll qwq(int y,int x)
{
	ll ans=1;//x^b[y]
	for(int i=1;i<=b[y];i++)
	{
		ans*=x;
	}
	return a[y]*ans;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>a[i]>>b[i];
	}
	memset(dp,0x3f,sizeof(dp));
	dp[0][0]=0;
	for(int i=1;i<=m;i++)
	{
		for(int j=n;j>=1;j--)
		{
			for(int k=j;k>=0;k--)
			{
				dp[i][j]=min(dp[i][j],dp[i-1][j-k]+qwq(i,k));
			}
		}
	}
	cout<<dp[m][n];
	return 0;
}
2020/8/7 09:47
加载中...