/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 532.0 KiB
#2 Accepted 8ms 532.0 KiB
#3 Accepted 609ms 548.0 KiB
#4 Accepted 611ms 768.0 KiB
#5 Accepted 614ms 548.0 KiB
#6 Accepted 315ms 544.0 KiB
#7 Accepted 612ms 556.0 KiB

Code

#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
 
 

void solve(){
  long long n;
  cin >> n;
  long long mid = sqrt(1e9);
  long long ans = 0;
  for(int i = 1 ; i <= min(mid,n) ; i++){
    ans += n / i - 1;
  }
  if(n <= mid){
    cout << ans << endl;
    return;
  }
  long long j = mid + 1;
  while(n / mid == n / j){
    ans += n / j - 1;
    j++;
  }
  for(long long i = (n / j) ; i >= 1 ; i--){
    ans += i * max(0ll,n / i - n / (i + 1));
  }
  cout << ans - (n - j + 1) << endl;
}



 
 
 
 
int main()
{
    #define fastio() ios_base::sync_with_stdio(false);cin.tie(nullptr);
    int t = 1;
    cin >> t;
    while(t--) solve();
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1207 D2. GCD equal Absolute Value (Hard Version)
Language
C++17 (G++ 13.2.0)
Submit At
2025-07-14 19:21:57
Judged At
2025-07-14 19:21:57
Judged By
Score
100
Total Time
614ms
Peak Memory
768.0 KiB