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