Submit Time:2021-12-18 21:05:06

运行 ID: 36001

#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); } } }