Submission #1087078

#TimeUsernameProblemLanguageResultExecution timeMemory
1087078Dennis_JasonIntercastellar (JOI22_ho_t1)C++14
100 / 100
51 ms10832 KiB
#include <bitset> #include <cmath> #include <functional> #include <algorithm> #include <numeric> #include <system_error> #include <deque> #include <fstream> #include <iomanip> #include <iostream> #include <iterator> #include <limits> #include <list> #include <map> #include <unordered_map> #include <queue> #include <set> #include <stack> #include <string> #include <vector> #include <cstring> #include <climits> #define pb push_back #define MOD 1000000007 #define NMAX 200001 #define MAX 10000000 #define nl '\n' #define pii1 pair<int, pair<int,int>> (1,(1,2)); #define pii pair<int,int> #define tpl tuple<int,int,int> #define int long long using namespace std; ifstream fin("data.in"); ofstream fout("data.out"); const int INF=1e12; /* ====================DEMONSTRATION====================== =========================END=========================== */ int n; vector<int>v; int q; signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n; v.resize(n+1); vector<int>aux(n+1); vector<int>div(n+1); for(int i=1;i<=n;++i) { cin>>v[i]; } cin>>q; for(int i=1;i<=n;++i) { int num=1; while(!(v[i]&num)) num*=2; div[i]=num; aux[i]+=aux[i-1]+div[i]; } for(int i=1;i<=q;++i) { int x; cin>>x; int st=1; int dr=n; int res; while(st<=dr) { int mid=(st+dr)/2; if(aux[mid]>=x && aux[mid-1]<x) { res=mid; break; } if(aux[mid]<x) st=mid+1; else dr=mid-1; } cout<<v[res]/div[res]<<nl; } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:87:20: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   87 |         cout<<v[res]/div[res]<<nl;
      |                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...