Mam takie zadanie, ale kompletnie nie wiem jak je ugryźć i jak poradzić sobie z tym dodawaniem binarnym:
Mamy dany ciąg n liczb naturalnych a=a1,a2,…,an. Twoim zadaniem jest wyznaczenie liczby jedynek w zapisie binarnym każdej z sum ∑i=1k2ai dla k=1,2,…,n
Wejście
W pierwszym wierszu znajduje się liczba całkowita n ( 1≤n≤500000 ) - liczba elementów ciągu. W drugim wierszu znajduje się n liczb całkowitych ai ( 0≤ai≤500000 ) pooddzielanych pojedynczymi odstępami.
Wyjście
Twój program powinien wypisać n liczb całkowitych - k-ty wiersz powinien zawierać liczbę jedynek w rozwinięciu binarnym odpowiedniej sumy k potęg dwójki.
Przykład
Dla danych wejściowych:
4
0 1 2 1
poprawnym wynikiem jest:
1
2
3
2
Wyjaśnienie do przykładu: szukane sumy to kolejno: 1, 3, 7, 9.
Za wszelkie wskazówki byłbym wdzięczny :)