Cod sursa(job #200437)

Utilizator IrnukIrina Grosu Irnuk Data 23 iulie 2008 21:50:11
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
/*Datorii
*/

#include<fstream.h>

long a[15001],a_sec[151];
int n,m,cod,t,v,g;

ifstream fin("datorii.in");
ofstream fout("datorii.out");

void citire()
{
	int i;
	fin>>n>>m;
	for(i=0;i<n;i++)
		fin>>a[i];
}

long suma(int n)
{
	int i;
	long s=0;
	for(i=n*100;i<(n+1)*100;i++)
		s+=a[i];
	return s;
}
void zero()
{
	t--;
	if(a[t]-v>0)
		a[t]-=v;
	else 
		a[t]=0;
	g++;
}

void unu()
{
	int i;
	long suma=0;
	t--;
	for(i=t;i<v;i++)
		suma+=a[i];
	fout<<suma<<'\n';

}

int main()
{
	int i,nr;
	
	citire();
	nr=n/100;
	for(i=0;i<nr;i++)
		a_sec[i]=suma(i);
	for(i=nr*100;i<n;i++)
		a_sec[nr]+=a[i];
	if(n<500)
	for(i=0;i<m;i++)
	{
		fin>>cod>>t>>v;
		if(cod==0)
			zero();
		else
			unu();
	}

	fout.close();
	return 0;
}