/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 8ms 532.0 KiB
#3 Time Exceeded ≥1100ms ≥548.0 KiB
#4 Time Exceeded ≥1100ms ≥544.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;
 
 

void solve(){
  long long n;
  cin >> n;
  long long mid = sqrt(1e8);
  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()
{
    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:19:02
Judged At
2025-07-14 19:19:02
Judged By
Score
5
Total Time
≥1100ms
Peak Memory
≥548.0 KiB