Submission #538913

#TimeUsernameProblemLanguageResultExecution timeMemory
538913thegrimbeeIntercastellar (JOI22_ho_t1)C++14
100 / 100
76 ms10736 KiB
#include<bits/stdc++.h> using namespace std; #define int long long bool debug = false; int mod = 1e9+7; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n, q, temp; cin >> n; vector<pair<int, int>> v(n); for (int i =0 ;i < n; ++i){ cin >> v[i].first; } for (int i = n-1; i >= 0; --i){ if(v[i].first%2 == 0){ temp = (v[i].first&(-v[i].first+1)); v[i].second = temp; v[i].first = v[i].first/temp; temp = v[i].first; v[i].first = v[i].second; v[i].second = temp; } else{ v[i].second = v[i].first; v[i].first = 1; } } int sum = 0; vector<int> in(n); for (int i = 0; i < n; ++i){ sum += v[i].first; in[i] = sum; } if(debug){ for (int i = 0;i < n; ++i){ cout << in[i] << ' '; } } cin >> q; for (int i = 0; i < q;++i){ cin >> temp; cout << v[lower_bound(in.begin(), in.end(), temp)-in.begin()].second << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...