Cod sursa(job #5720)

Utilizator andytrAlexandru Traista andytr Data 14 ianuarie 2007 13:13:28
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <stdlib.h>

long n,m;
int *a;
FILE *g;

void cit(FILE *f)
{int i;
fscanf(f,"%d %d",&n,&m);
a=(int *)malloc(sizeof(a[0])*n);
for(i=1;i<=n;i++)
 fscanf(f,"%ld",&a[i]);
}

void inter(int x,int y)
{long s=0,i;
for(i=x;i<=y;i++)
 s+=a[i];
fprintf(g,"%ld\n",s);
}

void modif(int t,int v)
{a[t]-=v;
}

void sol(FILE *f)
{int p,i,j,op;
for(p=1;p<=m;p++)
 {fscanf(f,"%d %d %d",&op,&i,&j);
  if(op)
   inter(i,j);
  else
   modif(i,j);
 }
}

int main()
{FILE *f=fopen("datorii.in","r");
g=fopen("datorii.out","w");
cit(f);
sol(f);
fclose(f);
fclose(g);
return 0;
}