Submission #987301

#TimeUsernameProblemLanguageResultExecution timeMemory
9873010pt1mus23Intercastellar (JOI22_ho_t1)C++14
100 / 100
68 ms7568 KiB
#pragma GCC optimize("O3","inline")
#include <bits/stdc++.h>
using namespace std;
#define all(v) v.begin(),v.end()
#define ins insert
#define pb push_back
#define int long long
#define pii pair<int,int>
#define endl '\n'
#define drop(x) cout<<(x)<<endl;return;
#define reach cerr<<"reached >.<!"<<endl;
/*
    m : 11059739 -> l ~23
    p : 4567896467
*/
// mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
const int mod =  1e9 +7, sze=2e5 +5,inf=LLONG_MAX, prime = 2333;

//\\
:pepeblacklove:  :dp/st/sp/bs/gr: :pepeblacklove:  
//

void gkd(){
    int n;
    cin>>n;
    vector<int> arr(n+1);
    for(int i=0;i<n;i++){
        cin>>arr[i+1];
    }
    int q;cin>>q;
    int last = 0;
    int i =1;
    while(q--){
        int x;
        cin>>x;
        int ans=0;
        while(last<=x){
            int ihave = (arr[i]%2?1:0);
            if(!ihave){

                int l = 1;
                int r = 30;
                int bolgu=0;
                while(l<=r){
                    int mid = (l+r)/2;
                    // cout<<arr[i]<< " "<<(1<<mid)<<endl;
                    if(arr[i]% ( 1<<mid ) ==0){
                        bolgu = (1<<mid);
                        l=mid+1;
                    }
                    else{
                        r=mid-1;
                    }
                }

                ihave = bolgu;
            }
            // cout<<last<<" "<<ihave<<endl;
            if(last+ihave<x){
                last+=ihave;
                i++;
            }
            else{
                // cout<<arr[i]<< " "<<ihave<<endl;
                ans = arr[i]/ihave;
                break;
            }
        }
        cout<<ans<<endl;
    }
}

signed main(){
    cin.tie(0)->sync_with_stdio(0);
    int tt=1; 
    // cin>>tt;
    while(tt--) gkd();
    
    return 0;
}

Compilation message (stderr)

Main.cpp:19:1: warning: multi-line comment [-Wcomment]
   19 | //\\
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...