Pagini recente » Cod sursa (job #83631) | Cod sursa (job #1408897) | Cod sursa (job #2070040) | Cod sursa (job #2693158) | Cod sursa (job #2501412)
#include <fstream>
using namespace std;
ifstream fin ("aib.in");
ofstream fout ("aib.out");
int n,m,c,i,j,a,b,x;
int s[100001];
long int sum;
int main()
{
/*scanf("%d",n);
scanf("%d",m);
fout<<n<<' '<<m<<'\n';*/
fin>>n>>m;
for (i=1; i<=n; i++)
{
//scanf("%d",x);
fin>>x;
s[i]=s[i-1]+x;
//fout<<s[i]<<' ';
}
//fout<<'\n';
for (i=1; i<=m; i++)
{
/*scanf("%d",c);
scanf("%d",a);*/
fin>>c>>a;
if (c<2)
//scanf("%d",b);
fin>>b;
if (c==0)
{
for (j=a; j<=n; j++)
s[j]+=b;
}
else
if (c==1)
{
fout<<s[b]-s[a-1]<<'\n';
}
else
{
j=1;
for (j=1; s[j]<a; j++);
if (s[j]==a)
fout<<j<<'\n';
else
fout<<-1<<'\n';
}
}
fout.close();
return 0;
}