Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
37040 22fhq 【S】T1 C++ 通过 100 17 MS 252 KB 968 2025-03-02 14:11:26

Tests(25/25):


#include<bits/stdc++.h> #define int long long using namespace std; int fact[20]; void read(int &x){ x=0; char c=getchar(); while(!isdigit(c))c=getchar(); while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar(); } void slv(){ int m,a1,a2,b1,b2; read(m),read(a1),read(b1),read(a2),read(b2); int ans=1e18; for(int i=0;i<4096;i++){ int x=m,res=0; for(int j=0;j<12;j++){ if(i>>j&1)x-=fact[j+3],res+=a1+b1*(j+3); } if(x<0)continue; for(int j=0;j<40;j++){ if(x>>j&1){ if(j==0)res+=min(a1+b1,a2); else if(j==1)res+=min(a1+2*b1,a2+b2); else res+=a2+b2*j; } } ans=min(ans,res); } cout<<ans<<endl; } signed main(){ fact[0]=1; for(int i=1;i<=15;i++)fact[i]=fact[i-1]*i; int id; read(id); int T; read(T); while(T--)slv(); return 0; }


测评信息: