Pagini recente » Borderou de evaluare (job #1920512) | Cod sursa (job #1608581) | Cod sursa (job #14872) | Cod sursa (job #1971258) | Cod sursa (job #2204217)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int m, n, i, j, x, c, d, k=1;
bool pozk;
ifstream f("aib.in");
ofstream g("aib.out");
f>>n>>m;
int a[n+1], suma[n+1];
for(i=1; i<=n; i++)
f>>a[i];
while(k<=n)
{
suma[k]=0;
for(i=1; i<=k; i++)
suma[k]+=a[i];
k++;
}
for(i=1; i<=m; i++)
{
f>>x>>c;
if(x==2)
{
pozk=true;
for(j=1; j<=n; j++)
if(suma[j]==c)
{
g<<j<<endl;
pozk=false;
break;
}
if(pozk==true)
g<<-1<<endl;
}
else
{
f>>d;
if(x==0)
{
a[c]+=d;
for(j=c; j<=n; j++)
suma[j]+=d;
}
else
if(c!=1)
g<<suma[d]-suma[c-1]<<endl;
else
g<<suma[d];
}
}
f.close();
g.close();
return 0;
}