Pagini recente » Cod sursa (job #1374773) | Cod sursa (job #1165741) | Cod sursa (job #2312928) | Cod sursa (job #1107588) | Cod sursa (job #330344)
Cod sursa(job #330344)
#include <stdio.h>
#define N 15050
#define P 100005
int n,m;
int s[N],r;
char v[P];
void read()
{
scanf("%d %d\n",&n,&m);
int i,nr=0;
fgets(v+1,P,stdin);
for (i=1; (v[i]>='0' && v[i]<='9') || v[i]==' '; i++)
{
if (v[i]>='0' && v[i]<='9')
nr=nr*10+(v[i]-'0');
if (v[i]==' ')
{
r++;
s[r]=s[r-1]+nr;
nr=0;
}
if ((v[i+1]<'0' || v[i+1]>'9') && v[i+1]!=' ')
{
r++;
s[r]=s[r-1]+nr;
nr=0;
}
}
}
void solve()
{
int i,j,x,y,z;
for (i=1; i<=m; i++)
{
scanf("%d%d%d",&x,&y,&z);
if (x==1)
printf("%d\n",s[z]-s[y-1]);
else
for (j=y; j<=n; j++)
s[j]-=z;
}
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
read();
solve();
return 0;
}