Pagini recente » Cod sursa (job #458713) | Cod sursa (job #264133) | Monitorul de evaluare | Cod sursa (job #119978) | Cod sursa (job #1899628)
#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 (int i = x - 1; i < y; i++) s += a[i];
//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';
}
}
}