Pagini recente » Cod sursa (job #256815) | Cod sursa (job #2332494) | Cod sursa (job #1108388) | Cod sursa (job #1263828) | Cod sursa (job #514837)
Cod sursa(job #514837)
#include <cstdlib>
#include <cstdio>
#include <iostream>
#define maxn 100000
#define maxm 150000
using namespace std;
int v[maxn];
int main()
{
int n, m, i, cod, s, value1, value2, j;
FILE *f = fopen("aib.in", "rt");
FILE *g = fopen("aib.out", "wt");
fscanf(f, "%d" , &n);
fscanf(f, "%d" , &m);
for (i = 0; i < n; i++) {
fscanf(f, "%d" , &v[i]);
}
for (j = 0; j < m; j++) {
fscanf(f, "%d" , &cod);
if (cod == 0) {
fscanf(f, "%d", &value1);
fscanf(f, "%d", &value2);
v[value1-1] += value2;
}
if (cod == 1) {
fscanf(f, "%d", &value1);
fscanf(f, "%d", &value2);
s = 0;
for (i = value1 - 1; i < value2; i++) {
s += v[i];
}
fprintf(g, "%d\n" , s);
}
if (cod == 2) {
fscanf(f, "%d" , &value1);
s = 0;
for (i = 0; i < n; i++) {
s += v[i];
if (s == value1) {
fprintf(g, "%d\n" , i + 1);
break;
}
if (s > value1) {
fprintf(g, "%d\n" , -1);
break;
}
}
}
}
fclose(f);
fclose(g);
return 0;
}