Cod sursa(job #3197947)

Utilizator AndPitAndreeaPiticar AndPit Data 27 ianuarie 2024 18:33:30
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
const int nMax=30001;
int t[nMax],n;
void build(){
    for(int i=1;i<=n;++i)
        f>>t[i+n];
    for(int i=1;i<=n;++i)
        t[i]=t[i-1]+t[i+n];
}
void update(int poz,int val){
    t[poz+n]-=val;
    for(int i=poz;i<=n;++i)
        t[i]-=val;
}
void query(int st,int dr){
    if(st==1)
        g<<t[dr]<<'\n';
    else g<<t[dr]-t[st-1]<<'\n';
}
int main(){
    int m;
    f>>n>>m;
    build();
    for(int i=1;i<=m;++i){
        int cer,x,y;
        f>>cer>>x>>y;
        if(cer)
            query(x,y);
        else update(x,y);
    }
    return 0;
}