Cod sursa(job #420966)
| Utilizator | Data | 20 martie 2010 20:48:05 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
long long s[15001][3],i,p,q,t,n,m,j,nr=1,v[100001][3],k;
FILE *f=fopen("datorii.in","r"),*g=fopen("datorii.out","w");
int main(void)
{
fscanf(f,"%lld%lld",&n,&m);
for (i=1;i<=n;i++)
{
fscanf(f,"%lld",&p);
s[i][1]=s[i-1][1]+p;
}
for (i=1;i<=m;i++)
{
fscanf(f,"%lld%lld%lld",&t,&p,&q);
if (t==1)
{
k=s[q][1]-s[p-1][1];
for (j=p;j<=q;j++)
k=k-s[j][2];
for (j=1;j<p;j++)
k=k+s[j][2];
fprintf(g,"%lld\n",k);
}
else
{
s[p][2]+=q;
}
}
fclose(g);
return 0;
}