Submission #1318968

#TimeUsernameProblemLanguageResultExecution timeMemory
1318968nambanana987Intercastellar (JOI22_ho_t1)C++20
25 / 100
34 ms5516 KiB
#include <bits/stdc++.h> #include <climits> using namespace std; #define f first #define s second #define all(a) a.begin(),a.end() #define sz(a) (int)a.size() #define int long long #define mk make_pair const int N=2e5+5; int fact[N]; int M[N],res[N]; int n,q; void sieve(){ for(int i=1;i<N;++i) fact[i]=i; for(int i=2;i*i<N;++i){ if(fact[i]!=i) continue; for(int j=i*i;j<N;j+=i){ if(fact[j]==j) fact[j]=i; } } } void solve(){ cin>>n; sieve(); for(int i=1;i<=n;++i ){ int temp;cin>>temp; int tich=1,hai=1; while(temp>1){ int p=fact[temp]; while(temp%p==0){ if(p==2) hai*=2; else tich*=p; temp/=p; } } M[i]=hai; M[i]+=M[i-1]; res[i]=tich; } cin>>q; while(q--){ int x;cin>>x; int p=lower_bound(M+1,M+n+1,x)-M; cout<<res[p]<<'\n'; } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...