Pagini recente » Cod sursa (job #2917093) | Cod sursa (job #3198115) | Cod sursa (job #603184) | Cod sursa (job #2327358) | Cod sursa (job #2680100)
#include <fstream>
using namespace std;
ifstream in(fisier "datorii.in");
ofstream out(fisier "datorii.out");
int V[20002];
int S(int i) {return i? V[i] + S(i^i&-i): 0;}
int main()
{
int n, m; in >> n >> m;
for (int i = 1; i <= n; i++)
{int e; in >> e; V[i+(i&-i)] += V[i] += e;}
while (m--)
{
bool v; int a, b; in >> v >> a >> b;
if (v) out << S(b) - S(a-1) << '\n';
else for (; a <= n; a += a&-a) V[a] -= b;
}
}