根据我的说法,以下代码中while循环条件下的j值应为max 101。但是代码为以下测试用例输出104: n = 1,m = 20000000,a [] = {100}
#include<bits/stdc++.h>
using namespace std;
long long cnt[101];
int main()
{
long long n,m;
cin>>n>>m;
long long a[n];
for(long long i=0;i<n;i++){
cin>>a[i];
long long j=1,sum=0,ele=0;
while(sum+j*cnt[j]<m-a[i] && j<101){
sum+=j*cnt[j];
ele+=cnt[j];
j++;
}
cout<<j<<endl;
if(j!=101){
ele+=((m-a[i]-sum)/j);
cout<<i-ele<<" ";
}
else
cout<<0<<" ";
cnt[a[i]]++;
}
return 0;
}