제출 #158205

#제출 시각아이디문제언어결과실행 시간메모리
158205LawlietBrunhilda’s Birthday (BOI13_brunhilda)C++14
0 / 100
359 ms262148 KiB
#include <bits/stdc++.h> using namespace std; const int MAXM = 100010; const int MAXN = 10000010; const int INF = 1000000010; int m, q; int v[MAXM]; int dp[MAXN]; int opt[MAXN]; bool isMultiple[MAXN]; vector< int > d[MAXN]; vector< int > multiples[MAXM]; int main() { scanf("%d %d",&m,&q); for(int i = 1 ; i <= m ; i++) scanf("%d",&v[i]); for(int i = 1 ; i <= m ; i++) { for(int cur = 0 ; cur < 10000000 ; cur += v[i]) { d[ cur ].push_back( i ); multiples[ i ].push_back( cur ); } } int mn = INF; for(int i = 1 ; i <= m ; i++) mn = min(mn , 10000000 - (10000000%v[i])); for(int i = 10000000 ; i > 0 ; i--) { opt[ i ] = mn; for(int j = 0 ; j < d[ i ].size() ; j++) { int curPrime = d[ i ][ j ]; multiples[ curPrime ].pop_back(); mn = min(mn , multiples[ curPrime ].back()); } } for(int i = 1 ; i <= 10000000 ; i++) { dp[ i ] = INF; dp[ i ] = dp[ opt[i] ] + 1; } for(int i = 1 ; i <= q ; i++) { int p; scanf("%d",&p); if(dp[ p ] >= INF) printf("oo\n"); else printf("%d\n",dp[ p ]); } }

컴파일 시 표준 에러 (stderr) 메시지

brunhilda.cpp: In function 'int main()':
brunhilda.cpp:45:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0 ; j < d[ i ].size() ; j++)
                   ~~^~~~~~~~~~~~~~~
brunhilda.cpp:22:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&m,&q);
  ~~~~~^~~~~~~~~~~~~~~
brunhilda.cpp:25:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&v[i]);
   ~~~~~^~~~~~~~~~~~
brunhilda.cpp:63:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&p);
   ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...