Pagini recente » Cod sursa (job #1748485) | Cod sursa (job #1079053) | Cod sursa (job #2393255) | Cod sursa (job #2400392) | Cod sursa (job #935248)
Cod sursa(job #935248)
/// Craciun Catalin (c)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
long A[15010];
int n;
long m;
long long B[15010];
int main(){
long i,j;
int pi,pf;
bool code;
long s;
int d;
f>>n>>m;
for (i=1;i<=n;i++){
f>>A[i];
}
for (i=1;i<=n;i++)
if (i==1){
B[i]=A[i];
}
else{
B[i]=B[i-1]+A[i];
}
for (i=1;i<=m;i++){
f>>code;
if (code==1){
f>>pi>>pf;
g<<B[pf]-B[pi-1]<<"\n";
}
else{
f>>d>>s; /// Ziua si suma achitata
for (j=d;j<=n;j++){
if (B[j]>=s)
B[j]-=s;
else
B[j]=0;
}
}
}
f.close();
g.close();
return 0;
}