Accepted
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