Pagini recente » Cod sursa (job #1194532) | Profil Kawaiimeatball13 | Cod sursa (job #2048862) | Cod sursa (job #2954861) | Cod sursa (job #1043273)
#include <stdio.h>
#include <stdlib.h>
void update(int *v,int start,int s,int n)
{
int i;
for (i=start;i<=n;i++)
v[i]-=s;
}
int main()
{
int i, n, m, s, cod,p,q,t;
FILE *f = fopen("datorii.in", "r"), *g = fopen("datorii.out", "w");
fscanf(f, "%d%d", &n, &m);
int *v = (int*)malloc(sizeof(int)*(n+10));
for (i = 1; i <= n; i++)
{
fscanf(f, "%d", &v[i]);
}
int *sum=(int*)malloc(sizeof(int)*n);
s=0;
for (i=1;i<=n;i++)
{
s+=v[i];
sum[i]=s;
}
for (i = 0; i < m; i++)
{
fscanf(f, "%d", &cod);
if (cod)
{
fscanf(f, "%d%d", &p, &q);
fprintf(g, "%d\n", sum[q]-sum[p-1]);
}
else
{
fscanf(f, "%d%d", &t, &s);
update(sum,t,s,n);
}
}
}