提交时间:2026-10-29 12:59:05

运行 ID: 43360

#include <bits/stdc++.h> using namespace std; const int N=1e5+9; long long n,ans,t; void f(long long x){ while(x%2==0)x/=2; t=x; } int main(){ cin>>n; ans+=(3*n+n%2)*(n/2)/2; for(int i=1,j=n+2-n%2;i<=(n+1)/2;i++){ f(j); if(t==0&&i+t/2<=(n+1)/2)ans+=j*j/4,j*=2; else ans+=t,j+=2; } cout<<ans; return 0; }