Pagini recente » Cod sursa (job #1470035) | Cod sursa (job #2550474) | Cod sursa (job #193238) | Cod sursa (job #2445537) | Cod sursa (job #1703575)
#include <fstream>
#define InFile "aib.in"
#define OutFile "aib.out"
#define MAX 100001
using namespace std;
unsigned int N, M;
unsigned short int A[MAX];
unsigned short int type, a, b;
unsigned long int sumk[MAX];
unsigned int i, j;
unsigned int sum, k;
int main ()
{
ifstream fin (InFile);
ofstream fout (OutFile);
fin >> N >> M;
for (i=1; i<=N; i++)
fin >> A[i];
for (i=1; i<=M; i++)
{
fin >> type;
if (type == 0)
{
fin >> a >> b;
A[a] += b;
}
else if (type == 1)
{
fin >> a >> b;
sum = 0;
for (j=a; j<=b; j++)
sum += A[j];
fout << sum << '\n';
}
else
{
fin >> a;
k = 0;
for (j=1; j<=N; j++)
sumk[j] = sumk[j-1] + A[j];
for (j=1; j<=N; j++)
if (sumk[j] == a)
{
k = j;
break;
}
if (k != 0)
fout << k << '\n';
else
fout << -1 << '\n';
}
}
fin.close();
fout.close();
return 0;
}