QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#89916 | #5503. Euclidean Algorithm | installb# | TL | 2ms | 3532kb | C++20 | 590b | 2023-03-21 19:33:05 | 2023-03-21 19:33:06 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i,l,r) for(int i=(l);i<=(r);++i)
#define per(i,r,l) for(int i=(r);i>=(l);--i)
using namespace std;
typedef long long ll;
ll x;int T;
ll sum(ll n){
ll ans=0;
for(ll l=1,r;l<=n;l=r+1){
r=n/(n/l);
ans+=(r-l+1)*(n/l);
}
return ans;
}
ll cal(ll n){
ll ans=0;
for(ll l=1,r;l<=n;l=r+1){
r=n/(n/l);
ans+=(r-l+1)*sum(n/l-1);
}
return ans;
}
int main(){
scanf("%d",&T);
while(T--){
scanf("%lld",&x);
printf("%lld\n",cal(x));
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3532kb
input:
3 2 5 14
output:
1 9 62
result:
ok 3 lines
Test #2:
score: -100
Time Limit Exceeded
input:
3 29107867360 65171672278 41641960535