結果
問題 | No.2758 RDQ |
ユーザー |
|
提出日時 | 2024-05-17 21:24:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 140 ms / 2,000 ms |
コード長 | 725 bytes |
コンパイル時間 | 772 ms |
コンパイル使用メモリ | 73,716 KB |
実行使用メモリ | 12,684 KB |
最終ジャッジ日時 | 2024-12-20 15:35:49 |
合計ジャッジ時間 | 3,922 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include<iostream>#include<vector>#include<cassert>#include<atcoder/fenwicktree>using namespace std;int N,Q;vector<int>idx[1<<17];int L[50000],R[50000],ans[50000];vector<int>Qi[1<<17];int main(){ios::sync_with_stdio(false);cin.tie(nullptr);cin>>N>>Q;for(int i=0;i<N;i++){int a;cin>>a;idx[a].push_back(i);}for(int i=0;i<Q;i++){int K;cin>>L[i]>>R[i]>>K;L[i]--;Qi[K].push_back(i);}atcoder::fenwick_tree<int>BIT(N);for(int k=1;k<=(int)1e5;k++){for(int a=k;a<=(int)1e5;a+=k)for(int i:idx[a])BIT.add(i,1);for(int qi:Qi[k]){ans[qi]=BIT.sum(L[qi],R[qi]);}for(int a=k;a<=(int)1e5;a+=k)for(int i:idx[a])BIT.add(i,-1);}for(int i=0;i<Q;i++)cout<<ans[i]<<"\n";}