盼兮 • 1天前
using namespace std; int main() {
ll n;
cin>>n;
vector<ll> m(n);
vector<ll> s(n,0);
vector<ll> c(n,0);
for(ll i=0;i<n;i++)cin>>m[i];
bool ad=false;
int t=0;
while(!ad){
t++;
ad=true;
for(ll i=0;i<n;i++){
if(m[i]>0){
ll h=m[i]/2;
m[i]-=h;
if(m[i]>0)ad=false;
}
}
for(ll i=0;i<n;i++){
if(m[i]>0){
ll f=(m[i]>=2)?2:m[i];
m[i]-=f;
if(m[i]==0)if(s[i]==0)s[i]=t;
else ad=false;
}
}
if(ad)break;
}
for(ll i=0;i<n;i++)cout<<s[i]<<" ";
return 0;
}
评论:
请先登录,才能进行评论