60pts求好像人施舍剩下的40分
查看原帖
60pts求好像人施舍剩下的40分
757432
laijingnian楼主2023/8/5 21:58
#include <iostream>
#include <cstring>

using namespace std;

#define ll long long
#define N 1000010

ll d[N];
ll a[N];
ll n,m;
ll op,x,y;
ll t[N];

void print(ll *a,ll n)
{
    cout<<"\n\n";
    for(int i = 1;i <= n;i++) cout<<a[i]<<" ";
    cout<<"\n\n";
}

int main()
{
    cin >> n >> m;
    for(int i = 1;i <= n;i++) cin >> a[i];
//    for(int i = 1;i <= n;i++) d[i] = a[i]-a[i-1];
//    print(d,n);
    while(m--)
    {
        cin >> op;
        if(op == 1)
        {
            cin >> x >> y;
//            d[x]+=y;
            for(int i = 1;i*x <= n;i++) a[i*x]+=y;
//            print(a,n);
        }
        else if(op == 2)
        {
            cin >> x;
            cout<<a[x]<<endl;
//            for(int i = 1;i <= x;i++) t[i] = d[i]+t[i-1];
//            cout<<t[x]<<endl;
//            print(t,x+1);
//            memset(t,0,sizeof t);
        }
    }
    return 0;
}
2023/8/5 21:58
加载中...