結果
問題 |
No.1233 割り切れない気持ち
|
ユーザー |
![]() |
提出日時 | 2025-08-15 15:50:07 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,011 bytes |
コンパイル時間 | 1,546 ms |
コンパイル使用メモリ | 162,120 KB |
実行使用メモリ | 19,016 KB |
最終ジャッジ日時 | 2025-08-15 15:50:18 |
合計ジャッジ時間 | 10,987 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 1 -- * 1 |
other | -- * 39 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:38:10: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 38 | freopen("mod.in", "r", stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ main.cpp:39:10: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 39 | freopen("mod.out", "w", stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#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); freopen("mod.in", "r", stdin); freopen("mod.out", "w", stdout); n = read(); for(int i = 1; i <= n; i++) { a[i] = read(); ans += a[i]; cnt[a[i]]++; } ans *= n; for(int i = 1; i <= 2e5; i++) { if(cnt[i] != 0){ 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 -= c[a[i]]; } cout << ans; return 0; }