#include <iostream> using namespace std; int main() { int a, b,min,cnt=0,sum=0;//min是此时最小值,cnt是已经处理过的数量,sum是总计算次数 cin>>a; for(int i=1;i<=a;i++){ cin>>b; if(i==1){ cnt++; min=b; continue; } while(min!=b){ if(b>min){ sum++; b/=2; } else { min/=2; sum+=cnt;//如果最小值改变则前面的所有数都需要再除2 } } cnt++; } cout<<sum; } // 64 位输出请用 printf("%lld")