Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
120949 廖悦扬 序列变换 C++ 通过 100 116 MS 8500 KB 595 2024-01-21 14:04:24

Tests(10/10):


#include <bits/stdc++.h> #define int long long using namespace std; int mp[1000005], a[1000005], n, m; signed main(){ scanf("%lld%lld", &n, &m); for (int i=1; i<=n; i++) scanf("%lld", &a[i]); while (m--) { int op, x, y; scanf("%lld%lld", &op, &x); if (op == 1) { scanf("%lld", &y); mp[x] += y; } else { int sq = (int)sqrt(x), ans=a[x]; for (int i=1; i<=sq; i++) { if (x%i) continue; int j = x/i; if (i == j) { ans += mp[i]; } else { ans += mp[i] + mp[j]; } } printf("%lld\n", ans); } } return 0; }


测评信息: