Pagini recente » Diferente pentru home intre reviziile 463 si 462 | Diferente pentru home intre reviziile 428 si 427 | Diferente pentru home intre reviziile 185 si 184 | Diferente pentru home intre reviziile 181 si 180 | Cod sursa (job #1551285)
#include <iostream>
#include <fstream>
using namespace std;
int A[15000];
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int N,M;
void citire(){
fin>>N>>M;
for(int i=1; i<=N; i++)
fin>>A[i];
}
void achitare(int b ,int c){
A[b]-=c;
}
int info(int b, int c){
int S=0;
for (int i=b; i<=c; i++)
S+=A[i];
return S;
}
int x,y,z;
int main()
{
citire();
for(int j=1; j<=M; j++){
fin>>x>>y>>z;
if (x==1) fout<<info(y,z)<<"\n";
else achitare(y,z);
}
return 0;
}