Pagini recente » Cod sursa (job #2567963) | Cod sursa (job #2248205) | Cod sursa (job #586385) | Cod sursa (job #581808) | Cod sursa (job #1899623)
#include <fstream>
#include <algorithm>
#include <vector>
//#include <iostream>
using namespace std;
int s = 0, j;
ifstream fin ("aib.in" );
ofstream cout("aib.out");
void f(int x)
{
s += x;
}
int main()
{
int n, m, q, x, y;
vector <int> a;
fin >> n >> m;
a.resize(n);
for (int i = 0; i < a.size(); i++)
fin >> a[i];
for (int i = 0; i < m; i++)
{
fin >> q >> x;
if (q != 2) fin >> y;
if (q == 0) a[--x] += y;
if (q == 1)
{
y--;
x--;
s = 0;
for_each(a.begin() + x, a.begin() + y + 1, f);
cout << s << '\n';
}
if (q == 2)
{
s = 0;
for (j = 0; s != x; j++)
{
s += a[j];
if (s > x)
{
j = -1;
break;
}
}
cout << j << '\n';
}
}
}