Cod sursa(job #1212241)

Utilizator pulseOvidiu Giorgi pulse Data 24 iulie 2014 11:12:33
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, q, v[100005];

int main()
{
	fin >> n >> q;
	for (int i = 1; i <= n; ++i)
		fin >> v[i];

	while (q--)
	{
		int type, a, b, s;
		fin >> type;
		if (type == 0)
		{
			fin >> a >> b;
			v[a] += b;
			continue;
		}
		if (type == 1)
		{
			fin >> a >> b;
			int sum = 0;
			for (int i = a; i <= b; ++i)
				sum += v[i];
			fout << sum << '\n';
			continue;
		}
		if (type == 2)
		{
			fin >> s;
			int k, sum = 0;
			for (k = 1; sum < s; ++k)
				sum += v[k];
			fout << k - 1 << '\n';
		}
	}
	fin.close();
	fout.close();
	return 0;
}