以下代码中的变量b的值为什么不改变呢?
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t;
cin >> t;
while( t-- )
{
long long maxt,b,time=0;
int n,i;
cin >> maxt >> b >> n;
long long x[101]={0};
for(i=0; i<n; i++)
{
cin >> x[i];
}
sort(x,x+n);
i=0;
while(b != 0)
{
while((b +x[i])<= maxt && i<n)
{
i++;
b = b+x[i];
}
if(b == 1)
{
b = maxt;
i++;
}
b --;
time++;
}
cout << time << endl;
}
return 0;
}