Submission #691716

#TimeUsernameProblemLanguageResultExecution timeMemory
691716IUA_HasinIntercastellar (JOI22_ho_t1)C++17
60 / 100
2074 ms24372 KiB
#include <bits/stdc++.h> #define endl "\n" #define finp for(int i=0; i<n; i++) #define fknp for(int k=0; k<n; k++) #define yeap cout<<"YES"<<endl #define nope cout<<"NO"<<endl #define inpintn int n; cin>>n #define inpintarrn int arr[n]; for(int i=0; i<n; i++){cin>>arr[i];} #define inpllarrn long long arr[n]; for(int i=0; i<n; i++){cin>>arr[i];} #define ll long long ll expo(ll n){ ll count=0; while(n%2==0){ count++; n/=2; } return count; } using namespace std; int main () { ll n; cin>>n; ll arr[n]; ll zrr[n]; for (int i=0; i<n; i++){ cin>>arr[i]; zrr[i]=arr[i]; } sort(zrr, zrr+n); ll q; cin>>q; ll brr[q]; for (int i=0; i<q; i++){ cin>>brr[i]; } ll crr[n]; for (int i=0; i<n; i++){ int x=expo(arr[i]); int y=pow(2,x); crr[i]=y; } if (zrr[n-1]>8){ for (int i=0; i<q; i++){ ll coun=0; for (int j=0; j<n; j++){ if (j==n-1){ if (coun>=brr[i]){ ll z=arr[n-2]/crr[n-2]; cout << z << " "; break; } else { ll z=arr[n-1]/crr[n-1]; cout << z << " "; break; } } else if (brr[i]>coun){ coun+=crr[j]; } else { ll z=arr[j-1]/crr[j-1]; cout << z << " "; break; } } } } else { vector<ll> ans; for (int i=0; i<n; i++){ ll a=expo(arr[i]); if(a==0){ ans.push_back(arr[i]); } else { ll b=pow(2,a); ll c=arr[i]/b; for (int k=0; k<b; k++){ ans.push_back(c); } } } for (int l=0; l<q; l++){ ll d=ans[brr[l]-1]; cout << d << " "; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...