제출 #938630

#제출 시각아이디문제언어결과실행 시간메모리
938630vjudge1Intercastellar (JOI22_ho_t1)C++17
100 / 100
463 ms7748 KiB
#include <bits/stdc++.h> #define int long long #define endl "\n" using namespace std; vector<int>prefix; int binarysearch(int i){ int r=prefix.size(); int l=0; while(l<r){ if(l==r-1){ if(prefix[r]<=i)return r; else return l; } int m=(l+r)/2; if(prefix[m]==i)return m; if(prefix[m]>i) r=m; else l=m; } } pair<int,int> power(int i){ int ans=1; while(i%ans==0){ ans*=2; } ans/=2; i=i/ans; return make_pair(ans,i); } signed main(){ int n,q; cin>>n; int sum=1; vector<int>v; prefix.push_back(sum); for(int i=0;i<n;i++){ int a; cin>>a; pair<int,int>b=power(a); sum+=b.first; prefix.push_back(sum); v.push_back(b.second); } cin>>q; for(int i=0;i<q;i++){ int b; cin>>b; int index=binarysearch(b); cout<<v[index]<<endl; } }

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'long long int binarysearch(long long int)':
Main.cpp:21:1: warning: control reaches end of non-void function [-Wreturn-type]
   21 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...