1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| vector<ll> vr;
void Sqrt_dec(ll x){ vr.clear(); ll r=1; for(ll l=1;l<=x;l=vr.back()+1){ r=x/(x/l); vr.emplace_back(r); } }
vector<ll> pref;
ll Get_G(ll x){ ll res=0,r=1; for(ll l=1;l<=x;l=r+1){ r=x/(x/l); res+=(pref[r]-pref[l-1])*(x/l)*(r-l+1); } return res; }
|