Cod sursa(job #543232)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 27 februarie 2011 19:22:17
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
# include <fstream.h>
  ifstream f ("datorii.in");
    ofstream g ("datorii.out");
    int n, m, a[20000], cit;
    inline int zero (int a){
	return a&-a;
    }
    int intrebare, r1, r2;
    void adauga (int poz, int val){
	for (int i = poz; i <= n; i += zero (i))
	    a[i] -= val;
    }
    inline int suma (int poz){
	int s = 0;
	for (int i = poz; i > 0; i -= zero (i))
	    s += a[i];
	return s;
    }
    int main (){
	f >> n >> m;
	for (int i = 1; i <= n; ++i){
	    f >> cit;
	    adauga (i, cit);
	}
	for (; m > 0; --m){
	    f >> intrebare;
	    if (intrebare == 0){
		f >> r1 >> r2;
		adauga (r1, r2);
		continue;
	    }
	    f >> r1 >> r2;
	    g << suma (r2) - suma (r1 - 1);
	}
	g.close ();
	return 0;
    }