Submission #1268042

#TimeUsernameProblemLanguageResultExecution timeMemory
1268042ChuanChenIntercastellar (JOI22_ho_t1)C++20
100 / 100
291 ms5536 KiB
#include<bits/stdc++.h>
using namespace std;

#define debug(v) cout << #v << ": " << v << endl; 

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXN = 2e5+5;
const ll INF = 1e18;

int n, q;
vector<pll> v; //{n, freq}

int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		int a; cin >> a;
		v.push_back({1, a});
		while(!(v.back().second&1)){
			v[v.size()-1].second /= 2;
			v[v.size()-1].first *= 2;
		}
		if(v.size() > 1) v[v.size()-1].first += v[v.size()-2].first;
	}
	cin >> q;
	for(int i = 1; i <= q; i++){
		ll x; cin >> x;
		auto it = lower_bound(v.begin(), v.end(), make_pair(x, 0ll));
		cout << (it->second) << '\n';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...