ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
secvb
Timp maxim de execuţie/test:
0.2
secunde
Memorie totală disponibilă/stivă:
4MB/1 MB
Pentru un număr natural x , vom nota cu B(x) numărul biţilor de 1 din reprezentarea lui x în baza 2. De exemplu, B(6) = 2 , B(15) = 4 , B(16) = 1 . Fie un şir de N numere naturale x1 , x2 , ..., xN . Pentru orice două valori i şi j , cu 1 <= i <= j <= N , vom nota prin B(i, j) = B(xi ) + B(xi+1 ) + ... + B(xj ) , adică B(i, j) este numărul tuturor biţilor de 1 din secvenţa de numere xi , xi+1 , xi+2 , ..., x j .
Cerinţă
Dat şirul x1 , x2 , ..., xN şi un număr natural T , să se determine numărul secvenţelor de forma xi , xi+1 , xi+2 , ..., xj cu proprietatea că B(i,j) = T .
Date de intrare
Fişierul secvb.in conţine pe prima linie numerele naturale N şi T , separate printr-un spaţiu. Pe linia a doua se găsesc N numere naturale x1 , x2 , ..., xN separate prin câte un spaţiu.
Date de ieşire
Fişierul de ieşire secvb.out va conţine un singur număr natural reprezentând numărul de secvenţe din şir care au numărul biţilor de 1 egal cu
T .
Restricţii
1 <= N <= 50 000
0 <= T <= 100 000
valorile din şir sunt numere naturale cuprinse între 1 şi 1000
Exemplu
secvb.in
secvb.out
Explicaţii
7 6
8 3 7 14 10 63 1
3
Sunt trei secvenţe având în total 6 biţi de 1:
8 3 7
7 14
63
Probleme recomandate
De la XOR 2011 : triunghi3 , cmmdcsecv , drumuri1 , fillmat , siruri3 De acelaşi autor : cai , rebus , harta , comun , axa , sir , ocean14 , reduceri , div3 , patrate6 , vot , reziduu , accesibil , predecesor , permutari , scanduri , ordonare , xor1 , paltrei , triunghi1 , 123 , traseu1 , parbit , petrecere , secvbiti , subm , triunghi3 , cmmdcsecv , drumuri1 , fillmat , siruri3 , acces , segmente , echilibru1 , broscute , ksecv , paisprezece , proddiv , perechi2 , expeval , maxtri , combcuv , dfs , qtri , blis , maxbin , probleme , divider , eliminare , minm , genab , grafxy , matd3 , azeval , matrixdel , speed , maxp , split , binremove , sminus , subsets , tcif , sprime , sir2dif , ecp , arbsum , robotzi , permtr , unudoi , matcnt , ssdj , dominant Despre vector : trei , simetric , egal , ruleta , pod , uscat , afise , an , bunici , cursa , onu , tramvai , cadou , kpal , expresie , piticot , roci , petrol , grad , ruleta2 , ecran , palma , concurs , holo , ab2 , tren2 , cifre , mgo , firma , anagrame , joc2 , br , maxim , astre , numere2 , baby , zapada , hd , startrek , vecini2 , drept , teatru , tir , patrate2 , nr , cifra , repeat , unu , criptare , ratb , placi , sume3 , turist , matrice3 , pavaj , sume , kafka , bacan , spair , grup , friends2 , bitslang , fisc , scor2 , cat , nr3 , chimie2 , zid , politics , submat , reteta2 , rezervatie , creioane , felinare , 2numere , exp , scoici , patrate1 , playlist , sqr , carte , oua , turn , ants , div3 , jeton , politic , trecere , maraton , zaruri , suma1 , mere1 , agitatie , lacuri , secv , sotron , triunghi , carti1 , spioni , kalah , excursia , matricea , maxq , oras , furnici , baschet , ingerasi , numar1 , prieteni , aritma , cezar , bifo , pal , seceta , bare , soricel1 , antena , avere , paianjen , bloc , schi , suma3 , fractie , tunel , pepsi , prefix , tren3 , avion , premii1 , csir , top , bsir , secvente , cod4 , cuburi3 , limbaj , panouri , sant1 , zumzi , sport1 , baschet1 , mere3 , powerpuff , placare , sir4 , volei1 , tabel , ocr , numere7 , lacusta , flori , pluton , elfi , mare , grupe1 , maroco , cartonas , cabina , case , cod5 , furnica , numere8 , paritate , comoara1 , exponent , control , exp1 , joc13 , popas , reactivi , siruri1 , vanatoare , submult , text1 , taxe1 , visul , paranteze , puncte3 , cub3 , numere9 , panglica , pietre , poartas , sume2 , bal , secvsir , vot , prefix1 , accesibil , palc , standard , bursa , meteo , jetoane , printesa , palindrom , joker , matriosca , loto , cuvant , cladiri1 , secvente1 , zar , tren4 , asociativ , lego , medalii , figura , joc14 , neuroni , char , dartz , turism1 , calorii , xor1 , paltrei , album , livada1 , colorare , greutati , brazi , submatrix1 , plaja , cd1 , cifru3 , permutare , miere , tetris1 , conferinta , atelier , radical , bileprime , nx , atletism , sumb , minmax , sumacifre , jocprim , sircifre , cmmdcsecv , siruri3 , cifru4 , vase , carte1 , grad1 , litere , magic6 , macheta , butoane , ec , stalpi2 , fagure , goe , papusa , taburet , mesaj3 , zar1 , joc16 , talent , joc18 , cos , punctfix , risipa , liste , triburi , nr0 , oneton , nor , nrpomi , paisprezece , anagramabil , zuma , joc20 , dale , perechi2 , consiliu , becuri2 , codpatrat , adprod , qtri , reconst , arme , triunghi4 , deal , ozn1 , cifru5 , flori1 , elicop , roata , trifoi , maxbin , culori2 , numar5 , bile6 , proiecte , alune , cuburi4 , sstabil , intersectii , copaci2 , 7segmente , amedie , drept2 , divider , eliminare , matd3 , prodnr , fraze , vectori1 , compar , unific , galbeni , clepsidru , calcule , puncte6 , maxp , cursa1 , secvp , swap , extraprime , onigim , divizori1 , remi1 , tetris3 , amestec , eoliene , split , momente , secvente2 , ausoara , aranjare2 , vintage , binremove , sminus , subsets , interclasare , palindromuri , colina , doitrei , rebus1 , tcif , munte3 , triunghi6 , schi1 , rascoala , solitar , praslea , vot2 , tema , sprime , sir2dif , aperm , unudoi , prajituri , tan , concurs4 , ech , arc , dominant , ordine , tv1 , nebuni , sort2dist , lightbot , iepuras1 , castig Despre baze de numeraţie : balanta , gray , np , nr01 , tablou , aritma , joc8 , numere6 , ceas2 , paritate , test1 , visul , numere9 , accesibil , puteri35 , sumb , joct , minmax , stele , goe , copii , b2k , becuri2 , codpatrat , patrate7 , cifrab , b210