Pagini recente » Rating abc def (abcd123) | Cod sursa (job #1621348) | Cod sursa (job #615056) | Rating Ileni Lenut (Lenut) | Cod sursa (job #3122392)
#include<fstream>
using namespace std;
ifstream F("aib.in");
ofstream G("aib.out");
int n,m,i,a[100001],c[100001],b,j,k,s,t,l;
int main()
{
for(F>>n>>m,i=1;i<=n;F>>a[i],a[i]+=a[i-1],c[i]=a[i]-a[i-(i&(-i))],++i);
for(l=1;l<=n;l<<=1);
for(;m--;)
if(F>>b>>j,!b)
for(F>>k;j<=n;c[j]+=k,j+=(j&(-j)));
else if(b==1) {
for(F>>k,s=t=0;k>0;s+=c[k],k-=(k&(-k)));
for(--j;j>0;t+=c[j],j-=(j&(-j)));
G<<s-t<<'\n';
} else {
for(i=0,k=l;k;k>>=1)
if(i+k<=n&&j>=c[i+k])
j-=c[i+k],i+=k;
G<<(j||!i?-1:i)<<'\n';
}
return 0;
}