/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 354ms 8.164 MiB
#2 Accepted 563ms 8.75 MiB
#3 Accepted 549ms 8.914 MiB
#4 Accepted 544ms 8.664 MiB
#5 Accepted 555ms 8.988 MiB

Code

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

long long dp[2000000];
long long N=1000005;

long long gcd(long long a, long long b) {
    return b == 0 ? a : gcd(b, a % b);
}


void solve(){
    for(long long i=1;i<=N;i++) dp[i]=0;
    for(long long i=1;i<=N;i++)
    {
        for(long long j=2*i;j<=N;j+=i)
        {
            if(gcd(j,j-i)==(i)) dp[j]++;
        }
    }

    for(long long i=2;i<=N;i++) dp[i]+=(dp[i-1]);
}

int main() {

    solve();

    long long t;
    cin>>t;


    while(t--)
    {
        long long n;
        cin>>n;
        cout<<dp[n]<<"\n";
    }
    
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1206 D1. GCD equal Absolute Value (Easy Version)
Contest
Educational Round 1
Language
C++17 (G++ 13.2.0)
Submit At
2025-07-14 16:19:47
Judged At
2025-07-14 16:19:47
Judged By
Score
100
Total Time
563ms
Peak Memory
8.988 MiB