Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
44656 | xujindong | 序列变换 | C++ | 解答错误 | 0 | 0 MS | 264 KB | 531 | 2022-02-09 12:02:39 |
#include<bits/stdc++.h> using namespace std; int a[1000005],n,m,ans,x; map<int,int>t; int main() { cin>>n>>m; for(int i=1; i<=n; i++)cin>>a[i]; while(m--) { cin>>x; if(x==1) { int y,z; cin>>y>>z; t[y]+=z; } if(x==2) { int z,temp; cin>>z; for(int i=1; i<=z/i; i++) { if(z%i==0) { if(t[i])temp+=t[i]; if(i!=z/i&&t[z/i])temp+=t[z/i]; } } cout<<a[z]+temp<<'\n'; } } }