Cod sursa(job #3328772)

Utilizator YannYann Spataru Yann Data 10 decembrie 2025 12:00:30
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <math.h>

using namespace std;
    ifstream cin("datorii.in");
    ofstream cout("datorii.out");
    int v[15001],btg[124];
int main()
{
    int n,m,q,n3,y,x,tip,s;
    cin>>n>>m;
    q=sqrt(n);
    for(int n2=0;n2<n;n2++) {
        cin>>v[n2];
        btg[n2/q]+=v[n2];
    }
    for(int n2=1;n2<=m;n2++) {
        cin>>tip>>y>>x;
        if(tip==0) {
            btg[(y-1)/q]-=x;
            v[y-1]-=x;
        }
        if(tip==1) {
            s=0;
            x--;
            y--;
            for(n3=y;n3%q>0;n3++) {
                s+=v[n3];
            }
            for(n3/=q;(n3+1)*q<=x;n3++) {
                s+=btg[n3];
            }
            for(n3=n3*q;n3<=x;n3++)
                s+=v[n3];
            cout<<s<<'\n';
        }
    }
    return 0;
}