Cod sursa(job #2424055)

Utilizator derihvist28Derihvist Adelina derihvist28 Data 22 mai 2019 15:56:54
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.88 kb
#include <std/c++.h>
 
int c[20000], v[20000], n, m, i, j;
 

 
int sum(int st, int dr)
{
 int s1, s2, p1, p2;
 s1 = 0;
 p1 = 0;
 p2 = 1;
 while (dr > 0)
               {
                 s1 += c[dr];
                 while ((dr & p2) == 0)
                                       {
                                          p1++;
                                          p2 *= 2;
                                       }
                 dr -= p2;
               }
 s2 = 0;
 p1 = 0;
 p2 = 1; st--;
 while (st > 0)
               {
                 s2 += c[st];
                 while ((st & p2) == 0)
                                        {
                                          p1++;
                                          p2 *= 2;
                                        }
                 st -= p2;
              }
 return s1-s2;
}
 
int main()
{
    ifstream cin("datorii.in");
	ofstream cout("datorii.out");
	cin >> n >> m;
	for (i=1; i<=n; i++)
                         {
                            cin >> v[i];
                            chng(i, v[i], '+');
                          }
 
    int x, a, b;
    for (j=1; j<=m; j++)
                        {
                          cin >> x;
                          if (x == 1)
                                      {
                                        cin >> a >> b;
                                        cout << sum(a, b) << '\n';
                                      }
                              else
                                      {
                                        cin >> a >> b;
                                        chng(a, b, '-');
                                      }
                        }
 return 0;
 /*
    egdyewgdsgdfiwyefgdhgshcvdteyitfefdyfty
    
    
    jbg
    jhgyfy
    hjvyty
    jhvgtyfr
    bhjghf
    
 */
}