Pagini recente » Cod sursa (job #47128) | Cod sursa (job #813212) | Cod sursa (job #1952497) | Cod sursa (job #1922667) | Cod sursa (job #1733326)
#include <fstream>
#include <cmath>
#include <vector>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,vp[15005],tip,a,b,m1[15005][15005],S;
vector<pair<int,int> >v1;
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
fin>>vp[i];
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
if(i==j)
m1[i][j]=vp[j];
else
m1[i][j]=m1[i][j-1]+vp[j];
}
}
for(int i=0;i<m;i++){
fin>>tip>>a>>b;
S=m1[a][b];
if(tip==1){
for(int j=0;j<v1.size();j++)
if(a<=v1[j].first && v1[j].first<=b)
S-=v1[j].second;
fout<<S<<'\n';
}
else
v1.push_back(make_pair(a,b));
}
}