Time Exceeded
Code
#include <bits/stdc++.h>
using namespace std;
map<long long,long long> mp;
long long say(long long N) {
long long sum = 0;
for (long long i = 1; i <= N;) {
long long q = N / i;
long long j = N / q;
sum += q * (j - i + 1);
i = j + 1;
}
return sum;
}
int main() {
int t;
cin>>t;
while(t--)
{
long long n;
cin>>n;
map<long long,long long>:: iterator it=mp.find(n);
if(it==mp.end())
{
long long T=say(n)-n;
mp[n]=T;
cout<<T<<"\n";
}
else cout<<it->second<<"\n";
}
return 0;
}
Information
- Submit By
- Type
- Submission
- Problem
- P1207 D2. GCD equal Absolute Value (Hard Version)
- Contest
- Educational Round 1
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2025-07-14 17:25:16
- Judged At
- 2025-07-14 17:25:16
- Judged By
- Score
- 5
- Total Time
- ≥1100ms
- Peak Memory
- ≥588.0 KiB