#include #include #include using namespace std; using namespace __gnu_pbds; using ll=long long; void solve(){ ll N,V; cin>>N>>V; vector C(N); for(auto&x:C)cin>>x; ll ANS=accumulate(begin(C),end(C),0LL); if(V<=N){ cout< pref(N+1); partial_sum(begin(C),end(C),begin(pref)+1); const int U=10010; vector dp(U,1e10); dp[0]=0; for(int i=1;i<=N;++i){ for(int j=i;jcst)dp[j]=cst; } } vector min_rate(N+1); min_rate[0]=1e18; for(int i=1;i<=N;++i)min_rate[i]=(C[i-1]*1.)/i; const int n=min_element(begin(min_rate),end(min_rate))-begin(min_rate); ll k=max(0ll,1+(V-U)/n); ANS+=k*pref[n]; if(V>0)ANS+=dp[V-k*n]; cout<>T; while(T--)solve(); cout<