Pagini recente » Cod sursa (job #1328374) | Cod sursa (job #3171428) | Cod sursa (job #3274325) | Cod sursa (job #2718998) | Cod sursa (job #857653)
Cod sursa(job #857653)
#include <fstream>
#include <vector>
using namespace std;
#define MAXN 100005
//int vec[MAXN];
int part[MAXN];
//vector<pair<int, int> > op0;
int main()
{
ifstream in("aib.in");
ofstream out("aib.out");
int n,m,i,op,a,b,j;
in >> n >> m;
part[0] = 0;
for(i = 1; i <= n; i++)
{
in >> part[i];
part[i] += part[i - 1];
}
for(i = 1; i <= m; i++)
{
in >> op;
if(op == 0)
{
in >> a >> b;
//op0.push_back(make_pair(a,b));
for(j = a; j <= n; j++)
part[j] += b;
}
if(op == 1)
{
in >> a >> b;
out << part[b] - part[a - 1] << '\n';
}
if(op == 2)
{
in >> a;
for(j = 1; j <= n && part[j] < a; j++);
if(part[j] == a)
out << j;
else
out << -1;
out << '\n';
}
}
}