Pagini recente » Cod sursa (job #1942967) | Cod sursa (job #1002919) | Cod sursa (job #2311746) | Cod sursa (job #742451) | Cod sursa (job #3169892)
#include <fstream>
#include<cmath>
using namespace std;
int bat[318], v[100005];
int main()
{
ifstream cin("batog.in");
ofstream cout("batog.out");
int n, i, k=0,l, sum=0, cnt=-1, poz, val, m, j, st, dr;
char ch;
cin>>n>>m;
l=sqrt(n);
for (i=0;i<n;i++)
{
cin>>v[i];
if (i%l==0)
cnt++;
bat[cnt]+=v[i];
}
for (i=1;i<=m;i++)
{
cin>>ch>>poz>>val;
sum=0;
poz--;
if(ch=='U')
{
bat[poz/l]+=val-v[poz];
v[poz]=val;
}
else
{
st=poz;
dr=val-1;
while( st<=dr && st%l!=0)
{
sum+=v[st++];
}
while(st<=dr && st+l-1<=dr)
{
sum+=bat[st/l];
st+=l;
}
while(st<=dr)
{
sum+=v[st++];
}
cout<<sum<<'\n';
}
}
return 0;
}