int f(int x) //算出x的每位數字和
{
int sum=0;
while(x)
{
sum+=x%10;
x/=10;
}
return sum;
}
void sol()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=n;;i++) //從n開始窮舉
{
int ans=__gcd(i,f(i));
if(ans>1) //如果所得結果>1則輸出
{
cout<<i<<endl;
break;
}
}
}
}
void sol()
{
int t;
cin>>t;
while(t--)
{
int n,w;
cin>>n>>w;
int x[n],y[n];
for(int i=0;i<n;i++)
{
cin>>x[i];
y[i]=w;
}
sort(x,x+n);
int ans=1;
for(int i=n-1;i>=0;i--)
{
for(int j=0;j<ans;j++)
{
if(y[j]>=x[i])
{
y[j]-=x[i];
break;
}
if(j==ans-1)
{
y[ans]-=x[i];
ans++;
break;
}
}
}
cout<<ans<<endl;
}
}
尚未AC