#include <iostream>
#include <cstring>
#include <cmath>
 using namespace std ;
 const int N=203;
  #define int long long
  int a[N],b[N],n,m,f[N][2002];
  int func(int i,int k){
  	return a[i]*(int)pow(k,b[i]);
  }
  void solve(){
  	int i,j,k;
  	memset(f,127,sizeof f);
  	for(i=0;i<=N;i++) f[i][0]=0;
  	
  	for(i=1;i<=n;i++)
  	for(j=m;j>=0;j--)
  	  for(k=0;k<=m;k++){
  	  	 if(j>=k)
		  f[i][j]=min(f[i][j],f[i-1][j-k]+func(i,k));
		}
	cout<<f[n][m];
  } 
  signed main(){
  	cin>>m>>n;
  	for(int i=1;i<=n;i++) cin>>a[i]>>b[i];
  	solve();
  }
  
  
  

posted on 2022-10-23 14:20  towboat  阅读(11)  评论(0)    收藏  举报