Pagini recente » Cod sursa (job #525644) | Cod sursa (job #1084365) | Cod sursa (job #1084297) | Cod sursa (job #3239854) | Cod sursa (job #1600713)
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int n,m,datorii[15000],t,v,q,p,tip,s,aux;
FILE *iFile,*oFile;
iFile = fopen("datorii.in","r");
oFile = fopen("datorii.out","w");
fscanf(iFile,"%d",&n);
fscanf(iFile,"%d",&m);
for(int i=1;i<=n;i++) {
fscanf(iFile,"%d",&aux);
for ( int j = i; j<=n ; j += j & (-j) )
datorii[j] += aux;
}
for(int i=1;i<=n;i++) {
cout<<datorii[i]<<' ';
}
for(int i=0;i<m;i++) {
fscanf(iFile,"%d",&tip);
if(tip == 0) {
fscanf(iFile,"%d",&t);
fscanf(iFile,"%d",&v);
for( int j = t ; j<=n ; j += j & (-j) )
datorii[j] -= v;
} else {
s = 0;
fscanf(iFile,"%d",&p);
fscanf(iFile,"%d",&q);
for(int j = p-1 ; j ; j-=j & (-j) )
s = s - datorii[j];
for(int j = q ; j ; j-=j & (-j) )
s = s + datorii[j];
fprintf(oFile,"%d\n", s);
}
}
fclose(iFile);
fclose(oFile);
return 0;
}