Pagini recente » Cod sursa (job #3171214) | Cod sursa (job #543049) | Cod sursa (job #1637879) | Cod sursa (job #2169291) | Cod sursa (job #265798)
Cod sursa(job #265798)
#include <fstream>
using namespace std;
fstream f;
fstream g;
int n;
int a[100001];
int B[100001];
int i;
int m;
int x,b,c;
void sum(int b,int c)
{
int sum=0;
sum=B[c];
for(x=1;x<b;x++)
sum-=a[x];
g << sum << "\n";
}
int pozitie(int b)
{
for(x=1;x<=n;x++)
if(B[x]==b)
return x;
return -1;
}
int main()
{
f.open("aib.in",fstream::in);
f>> n >> m;
f >> a[1];
B[1]=a[1];
for(i=2;i<=n;i++)
{
f >> a[i];
B[i]=a[i]+B[i-1];
}
g.open("aib.out",fstream::out);
for(i=0;i<m;i++)
{
f >> x;
switch(x)
{
case 0:
f>> b >> c;
a[b]+=c;
for(x=b;x<=n;x++)
B[x]+=c;
break;
case 1:
f >> b >> c;
sum(b,c);
break;
case 2:
f >> b;
g << pozitie(b)<<"\n";
}
}
g.close();
return 0;
}