Submission #768062

#TimeUsernameProblemLanguageResultExecution timeMemory
768062lollipopIntercastellar (JOI22_ho_t1)C++17
100 / 100
214 ms7632 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/rope> #define int long long #define pb push_back #define s second #define f first #define pf push_front #define inf 100000000000000000 #define bitebi __builtin_popcountll #define FOR( i , n ) for( int i = 0 ; i < n ; i ++ ) #define YES cout <<"YES\n" #define NO cout << "NO\n" #define debug cout << "Here Fine" << endl ; #define pr pair < int , int > #define fbo find_by_order // returns iterator #define ook order_of_key // returns strictly less numbers than key using namespace std ; //#pragma GCC optimize("Ofast") //#pragma GCC target("avx,avx2,fma") using namespace __gnu_pbds; using namespace __gnu_cxx; #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> const double Pi=acos(-1.0); const double EPS=1E-8; const int mod = 1000000007 ; const int mod1 = 998244353 ; const int N = 2e5 + 10 ; mt19937 R(time(0)); map < int , int > ma , ma1 ; int get( int num ){ if( num % 2 == 1 ) return 1 ; int cur = get( num / 2 ) * 2 ; return cur ; } int gamot( int num , int nd ){ if( num % 2 == 1 ) return num ; if( get( num / 2 ) >= nd ){ return gamot( num / 2 , nd ) ; } return gamot( num / 2 , nd - get( num / 2 ) ) ; } void solve(){ int n ; cin >> n ; int a[ n ] ; FOR( i , n ) cin >> a[ i ] ; int q ; cin >> q ; int pos = 0 , j = 0 ; while( q -- ){ int x ; cin >> x ; int nd = x - pos ; while( true ){ int cnt = get( a[ j ] ) ; if( nd <= cnt ) break ; pos = pos + cnt ; nd = nd - cnt ; j ++ ; } cout << gamot( a[ j ] , nd ) << "\n" ; } } signed main() { ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL); int t = 1 ;// cin >> t ; while( t -- ){ solve() ; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...