Cod sursa(job #809458)

Utilizator doomaSalagean Calin dooma Data 8 noiembrie 2012 14:54:18
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
int a[15000];

unsigned long long interogare(int lo, int hi){ // suma pentru interogare
    unsigned long long sum = 0;
    for(int i = lo; i <= hi; i++){
        sum += a[i];
    }
    return sum;
}
void achitare(int index, int val){ // achitare
    if(val < a[index]) a[index] -= val;
    else a[index] = 0;
}
int main(){
    int n,m,x,y,i;
    bool opType;
    ifstream fin("datorii.in");
    ofstream fout("datorii.out");

    fin >> n >> m;
    for(i = 0; i < n; i++){ //citire
        fin >> a[i];
    }
    while(m){
        fin >> opType;
        if(opType){
            fin>> x >> y; // x = start day y = stop day
            fout << interogare(x-1,y-1) << "\n";
        }
        else{
            fin >> x >> y; // x = day y = value
            achitare(x-1,y);
        }
        m--;
    }
    fout.close();
    fin.close();
    return 0;
}