Cod sursa(job #809458)
#include<fstream>
using namespace std;
int a[15000];
unsigned long long interogare(int lo, int hi){ // suma pentru interogare
unsigned long long sum = 0;
for(int i = lo; i <= hi; i++){
sum += a[i];
}
return sum;
}
void achitare(int index, int val){ // achitare
if(val < a[index]) a[index] -= val;
else a[index] = 0;
}
int main(){
int n,m,x,y,i;
bool opType;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
fin >> n >> m;
for(i = 0; i < n; i++){ //citire
fin >> a[i];
}
while(m){
fin >> opType;
if(opType){
fin>> x >> y; // x = start day y = stop day
fout << interogare(x-1,y-1) << "\n";
}
else{
fin >> x >> y; // x = day y = value
achitare(x-1,y);
}
m--;
}
fout.close();
fin.close();
return 0;
}