算法
第一个后面那些里面看最多能搬几个到1中
C++ 代码
#include<iostream>
using namespace std;
void solve()
{
int n,d;
int res = 0;
cin >> n >> d;
for(int i=1;i<=n;i++)
{
int x;
cin >> x;
if(i==1)
res += x;
else
{
if(d>=(i-1))
{
res += min(d / (i-1),x);
d -= min(d / (i-1),x) * (i-1);
}
}
}
cout << res << endl;
}
int main()
{
int t;
cin >> t;
while(t--)
solve();
return 0;
}