Pagini recente » Cod sursa (job #1570587) | Cod sursa (job #876776) | Cod sursa (job #1058497) | Cod sursa (job #1118833) | Cod sursa (job #1626945)
#include <iostream>
#include <cstdio>
using namespace std;
FILE* f=fopen("aib.in","r");
FILE* g=fopen("aib.out","w");
int n,m,a[100001],t,x,y;
int main()
{
fscanf(f,"%d%d",&n,&m);
for(int i=0; i<n; i++)
fscanf(f,"%d",&a[i]);
for(int i=0; i<m; i++)
{
fscanf(f,"%d",&t);
switch(t)
{
case 0:
{
fscanf(f,"%d%d",&x,&y);
a[x]+=y;
break;
}
case 1:
{
int s=0;
fscanf(f,"%d%d",&x,&y);
for(int i=x-1; i<=y-1; i++)
s+=a[i];
fprintf(g,"%d\n",s);
break;
}
case 2:
{
fscanf(f,"%d",&x);
int i=0;
int s=0;
while(s<x)
{
s+=a[i];
i++;
}
if(s==x)
fprintf(g,"%d\n",i);
else
fprintf(g,"%d\n",-1);
break;
}
}
}
return 0;
}