Cod sursa(job #2218570)

Utilizator AlexDabuDabu Alexandru AlexDabu Data 4 iulie 2018 23:01:35
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int n, m;
vector <int> sir;

void Read(void)
{
	int prop;
	fin >> n >> m;

	sir.push_back(0);
	for (int i = 0; i < n; i++)
	{
		fin >> prop;
		sir.push_back(prop);
	}

	int a, b, operation , index;
	for (int j = 0; j < m; j++)
	{
		fin >> operation;
		if (operation == 2)
		{
			fin >> a;
		}
		else
		{
			fin >> a >> b;
		}

		switch (operation)
		{
		case 0:
			sir.at(a) += b;
			break;
		case 1:
			prop = 0;
			for (int x = a; x <= b; x++)
			{
				prop += sir.at(x);
			}
			fout << prop << '\n';
			break;
		case 2:
			prop = 0; index = 0;
			while (prop != a)
			{
				prop += sir.at(index);
				index++;
			}
			fout << index - 1 << '\n';
			break;
		}
	}
}

int main(void)
{
	Read();
	return 0;
}