Get best answers to any doubt/query/question related to programming , jobs, gate, internships and tech-companies. Feel free to ask a question and you will receive the best advice/suggestion related to anything you ask about software-engineering , development and programming problems .

0 like 0 dislike
2,918 views
in Online Assessments by Expert (144,420 points)

2 Answers

0 like 0 dislike
 
Best answer

Pic of problem :- 

by Expert (144,420 points)
0 0
#include <bits/stdc++.h>
using namespace std;
#define int long long
int sumOfDigits(int x){
    int sum=0;
    while(x>0){
       sum+=x%10;
       x/=10;
    }
    return sum;
}
int32_t main() {
    int n;
    cin>>n;
    vector<int>arr(n);
    for(int i=0;i<n;i++)
    cin>>arr[i];
    int sum=0;
    for(int i=0;i<32;i++)
    {
       int k=0;int l=0;
       while(k<n)
       {
         int j=k;
         while(j<n && arr[j]&(1<<i))
         {
             l++;
             j++;
         }
         if(l==0)
         k++;
         else
         k=j;
         sum+=(1<<i)*(l)*(l+1)/2;
         l=0;
       }
       sum+=(1<<i)*(l)*(l+1)/2;
    }
    cout<<sum<<endl;
    return 0;
}
0 like 0 dislike
#include <bits/stdc++.h>
using namespace std;
#define int long long
int sumOfDigits(int x){
    int sum=0;
    while(x>0){
       sum+=x%10;
       x/=10;
    }
    return sum;
}
int32_t main() {
    int n;
    cin>>n;
    vector<int>arr(n);
    for(int i=0;i<n;i++)
    cin>>arr[i];
    int sum=0;
    for(int i=0;i<32;i++)
    {
       int k=0;int l=0;
       while(k<n)
       {
         int j=k;
         while(j<n && arr[j]&(1<<i))
         {
             l++;
             j++;
         }
         if(l==0)
         k++;
         else
         k=j;
         sum+=(1<<i)*(l)*(l+1)/2;
         l=0;
       }
       sum+=(1<<i)*(l)*(l+1)/2;
    }
    cout<<sum<<endl;
    return 0;
}
by (400 points)
...