제출 #742842

#제출 시각아이디문제언어결과실행 시간메모리
742842irmuunBrunhilda’s Birthday (BOI13_brunhilda)C++17
100 / 100
550 ms157572 KiB
#include<bits/stdc++.h> using namespace std; #define pb push_back #define ll long long #define ff first #define ss second #define all(s) s.begin(),s.end() const int MAX=2e7+5; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int m,q; cin>>m>>q; int p[m+5]; for(int i=1;i<=m;i++){ cin>>p[i]; } vector<int>mn(MAX,MAX); for(int i=1;i<=m;i++){ for(int k=0;(k+1)*p[i]<MAX;k++){ mn[(k+1)*p[i]-1]=min(mn[(k+1)*p[i]-1],k*p[i]); } } for(int i=MAX-2;i>=0;i--){ mn[i]=min(mn[i],mn[i+1]); } vector<int>ans(MAX); for(int i=1;i<MAX;i++){ if(mn[i]==i||mn[i]==MAX){ ans[i]=MAX; } else{ ans[i]=ans[mn[i]]+1; } } while(q--){ int n; cin>>n; if(ans[n]>=MAX){ cout<<"oo\n"; } else{ cout<<ans[n]<<"\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...