Pagini recente » Cod sursa (job #489349) | Cod sursa (job #1817695) | Cod sursa (job #2734834) | Cod sursa (job #407220) | Cod sursa (job #926337)
Cod sursa(job #926337)
#include <cstdio>
#include <algorithm>
using namespace std;
int a[100010],n,m;
int main()
{
freopen("aib.in","r",stdin);
freopen("aib.out","w", stdout);
scanf("%d%d",&n,&m);
int i,val, procedure, x, y;
for(i=1;i<=n;i++)
{
scanf("%d",&val);
a[i]=a[i-1]+val;
}
for(int q=0;q<m;q++)
{
scanf("%d",&procedure);
switch(procedure)
{
case 0:
scanf("%d%d",&x,&y);
for(i=x;i<=n;i++)
a[i]+=y;
break;
case 1:
scanf("%d%d",&x,&y);
printf("%d\n",a[y]-a[x-1]);
break;
case 2:
scanf("%d",&x);
for(i=1;i<n && a[i]<x;i++);
if(a[i]==x)
printf("%d\n",i);
else
printf("-1\n");
break;
}
}
return 0;
}