Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void solve(){
- int n,counter=0;
- cin>>n;
- vector<ll>v(n);
- map<int,int>mp;
- cin(v);
- sort(all(v));
- for(int i=0;i<n;i++){
- if(v[i]<=0){
- counter=0;
- mp[counter]++;
- }else if(v[i]<=1&&v[i]>0){
- counter=1;
- mp[counter]++;
- }else if(v[i]<=3&&v[i]>1){
- counter=2;
- mp[counter]++;
- }else if(v[i]<=7&&v[i]>3){
- counter=3;
- mp[counter]++;
- }else if(v[i]<=15&&v[i]>7){
- counter=4;
- mp[counter]++;
- }else if(v[i]<=31&&v[i]>15){
- counter=5;
- mp[counter]++;
- }else if(v[i]<=63&&v[i]>31){
- counter=6;
- mp[counter]++;
- }else if(v[i]<=127&&v[i]>63){
- counter=7;
- mp[counter]++;
- }else if(v[i]<=255&&v[i]>127){
- counter=8;
- mp[counter]++;
- }else if(v[i]<=511&&v[i]>255){
- counter=9;
- mp[counter]++;
- }else if(v[i]<=1023&&v[i]>511){
- counter=10;
- mp[counter]++;
- }else if(v[i]<=2047&&v[i]>1023){
- counter=11;
- mp[counter]++;
- }else if(v[i]<=4095&&v[i]>2047){
- counter=12;
- mp[counter]++;
- }else if(v[i]<=8191&&v[i]>4095){
- counter=13;
- mp[counter]++;
- }else if(v[i]<=16383&&v[i]>8191){
- counter=14;
- mp[counter]++;
- }else if(v[i]<=32767&&v[i]>16383){
- counter=15;
- mp[counter]++;
- }else if(v[i]<=65535&&v[i]>32767){
- counter=16;
- mp[counter]++;
- }else if(v[i]<=131071&&v[i]>65535){
- counter=17;
- mp[counter]++;
- }else if(v[i]<=262143&&v[i]>131071){
- counter=18;
- mp[counter]++;
- }else if(v[i]<=524287&&v[i]>262143){
- counter=19;
- mp[counter]++;
- }else if(v[i]<=1048575&&v[i]>524287){
- counter=20;
- mp[counter]++;
- }else if(v[i]<=2097151&&v[i]>1048575){
- counter=21;
- mp[counter]++;
- }else if(v[i]<=4194303&&v[i]>2097151){
- counter=22;
- mp[counter]++;
- }else if(v[i]<=8388607&&v[i]>4194303){
- counter=23;
- mp[counter]++;
- }else if(v[i]<=16777215&&v[i]>8388607){
- counter=24;
- mp[counter]++;
- }else if(v[i]<=33554431&&v[i]>16777215){
- counter=25;
- mp[counter]++;
- }else if(v[i]<=67108863&&v[i]>33554431){
- counter=26;
- mp[counter]++;
- }else if(v[i]<=134217727&&v[i]>67108863){
- counter=27;
- mp[counter]++;
- }else if(v[i]<=268435455&&v[i]>134217727){
- counter=28;
- mp[counter]++;
- }else if(v[i]<=536870911&&v[i]>268435455){
- counter=29;
- mp[counter]++;
- }else if(v[i]<=1073741823&&v[i]>536870911){
- counter=30;
- mp[counter]++;
- }else if(v[i]<=2147483647&&v[i]>1073741823){
- counter=31;
- mp[counter]++;
- }
- }
- for(auto i:mp){
- cout<<i.first<<" "<<i.second<<"\n";
- }
- cout<<"\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement