結果
問題 |
No.1233 割り切れない気持ち
|
ユーザー |
![]() |
提出日時 | 2025-08-15 15:44:52 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 13 ms / 3,153 ms |
コード長 | 898 bytes |
コンパイル時間 | 1,490 ms |
コンパイル使用メモリ | 161,740 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-08-15 15:44:56 |
合計ジャッジ時間 | 3,609 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 39 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; inline int read() { int f = 1, s = 0; for(char ch; ch = getchar_unlocked();) { if(ch == '-'){ f = -1; break; } if(isdigit(ch)) { s = s * 10 + ch - '0'; break; } } for(char ch; ch = getchar_unlocked();) { if(isdigit(ch)) { s = s * 10 + ch - '0'; }else{ break; } } return s * f; } const int MAXN = 2e5 + 25; int n; ll ans; int a[MAXN]; ll c[MAXN]; int cnt[MAXN]; int main(){ ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); n = read(); for(int i = 1; i <= n; i++) { a[i] = read(); cnt[a[i]]++; } for(int i = 1; i <= 2e5; i++) { for(int j = i; j <= 2e5; j += i) { c[j] += 1LL * cnt[i] * i; } c[i] += c[i - 1]; } for(int i = 1; i <= n; i++) { ans += 1LL * a[i] * n - c[a[i]]; } cout << ans; return 0; }