Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
121015 | 凌艺樽 | 序列变换 | C++ | 通过 | 100 | 116 MS | 8480 KB | 587 | 2024-01-21 14:49:07 |
#include <bits/stdc++.h> using namespace std; const int N=1e6+10; const int INF=0x3f3f3f3f; long long n,m,a[N],s[N]; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;++i) { scanf("%d",&a[i]); } while(m--) { int c; scanf("%d",&c); if(c==1) { int x,y; scanf("%d%d",&x,&y); s[x]+=y; } else if(c==2) { int x,sum=0; scanf("%d",&x); for(int i=1;i<=sqrt(x);++i) { if(x%i==0) { sum+=s[i]; if(i*i!=x) { sum+=s[x/i]; } } } printf("%d\n",a[x]+sum); } } return 0; }