Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
36001 | xujindong | 序列变换 | C++ | 通过 | 100 | 166 MS | 5648 KB | 520 | 2021-12-18 21:05:06 |
#include<bits/stdc++.h> using namespace std; const int ch=1000010; int a[ch],n,m,ans; map<int,int>t; int main() { cin>>n>>m; for(int i=1;i<=n;i++)scanf("%d",&a[i]); while(m--) { int x; scanf("%d",&x); if(x==1) { int y,z; scanf("%d%d",&y,&z); t[y]+=z; } if(x==2) { int z,zhi=0; scanf("%d",&z); for(int i=1;i<=z/i;i++) { if(z%i==0) { if(t[i])zhi+=t[i]; if(i!=z/i&&t[z/i])zhi+=t[z/i]; } } printf("%d\n",a[z]+zhi); } } }