Pagini recente » Cod sursa (job #2413717) | Cod sursa (job #2870926) | Cod sursa (job #2117580) | Cod sursa (job #3242476) | Cod sursa (job #336593)
Cod sursa(job #336593)
#include <fstream>
using namespace std;
ifstream f1 ("datorii.in");
ofstream f2 ("datorii.out");
int n,m,x,k,sum[20000],y,j;
int raspuns(int ii)
{
int suma=0;
for (int i=ii;i>0;i-=(i & -i)) suma+=sum[i];
return suma;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
f1>>n>>m;
for (int i=1;i<=n;i++) { f1>>x; for (int j=i; j<=n; j+=(j & -j)) sum[j]+=x;}
for (int i=1;i<=m;i++){
f1>>k>>x>>y;
if (k) f2<<raspuns(y)-raspuns(x-1)<<"\n";
else for (int j=x; j<=n; j+=(j & -j)) sum[j]-=y;;
}
return 0;
}