結果
問題 | No.1233 割り切れない気持ち |
ユーザー | monnu |
提出日時 | 2020-10-03 19:27:02 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 73 ms / 3,153 ms |
コード長 | 585 bytes |
コンパイル時間 | 1,543 ms |
コンパイル使用メモリ | 172,852 KB |
実行使用メモリ | 8,064 KB |
最終ジャッジ日時 | 2024-07-18 04:50:55 |
合計ジャッジ時間 | 4,785 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 39 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define INF 1000000000 #define MOD 998244353 using ll=long long; using Graph=vector<vector<int>>; int main(){ int N; cin>>N; vector<ll> A(N); for(int i=0;i<N;i++){ cin>>A[i]; } sort(A.begin(),A.end()); vector<ll> cnt(200001,0); for(int i=0;i<N;i++){ cnt[A[i]]++; } vector<ll> sum(200001,0); for(int i=1;i<=200000;i++){ sum[i]+=sum[i-1]+(ll)N; for(int j=1;i*j<=200000;j++){ sum[i*j]-=(ll)cnt[i]*(ll)i; } } ll ans=0; for(int i=0;i<N;i++){ ans+=sum[A[i]]; } cout<<ans<<endl; }