結果
| 問題 | No.888 約数の総和 |
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2026-05-13 18:39:16 |
| 言語 | C++17(gcc12) (gcc 12.4.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 659 bytes |
| 記録 | |
| コンパイル時間 | 3,478 ms |
| コンパイル使用メモリ | 200,124 KB |
| 実行使用メモリ | 8,064 KB |
| 最終ジャッジ日時 | 2026-05-13 18:39:24 |
| 合計ジャッジ時間 | 4,587 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 WA * 5 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
int cmp(int x,int y){
long long sum = 1;
for(int i = 1;i <= y;i++){
sum *= x;
}
return sum;
}
const int N = 1000009;
long long n,p[N],cnt[N];
int main(){
cin >> n;
int m = 0;
for(int i = 2;i <= n / i;i++){
int c = 0;
while(n % i == 0) n /= i,c++;
m++;
p[m] = i;
cnt[m] = c;
}
if(n > 1){
++m;
p[m] = n;
cnt[m] = 1;
}
long long ans = 1;
for(int i = 1;i <= m;i++){
long long t = 1;
for(int j = 1;j <= cnt[i];j++){
t += cmp(p[i],j);
//cout << cmp(p[i],j) << endl;
}
ans *= t;
}
cout << ans << endl;
return 0;
}
/*
5
6
7
*/
vjudge1