제출 #579727

#제출 시각아이디문제언어결과실행 시간메모리
579727wdjpngUplifting Excursion (BOI22_vault)C++17
5 / 100
5087 ms8332 KiB
#include <bits/stdc++.h> #define int long long #define rep(i,n) for(int i = 0; i < n; i++) #define per(i,n) for(int i = n-1; i >=0; i--) // #pragma GCC optimize("O3") // #pragma optimize("sse,sse2,sse3,sse4,avx,avx2") using namespace std; signed main() { int m,l; cin>>m>>l; int maxl=(m)*(m+1)/2*100; //TODO change to 100 if(l>maxl) {cout<<"impossible\n"; exit(0);} vector<int>dp(2*maxl, -1); dp[maxl]=0; vector<int>in(2*m+1); rep(i,2*m+1) cin>>in[i]; for(int cll = m; cll >=0; cll--) { int cl = cll; int a = in[m+cl]; rep(whatever,a) { per(i,2*maxl+1) { if(i-cl<0||i-cl>=dp.size()||dp[i-cl]==-1) continue; dp[i]=max(dp[i], dp[i-cl]+1); } } if(cl==0) continue; a=in[m-cl]; cl=-cl; rep(whatever,a) { rep(i,2*maxl+1) { if(i-cl<0||i-cl>=dp.size()||dp[i-cl]==-1) continue; dp[i]=max(dp[i], dp[i-cl]+1); } } } if(l+maxl<dp.size()&&dp[l+maxl]>0) cout<<dp[l+maxl]<<'\n'; else cout<<"impossible\n"; }

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

vault.cpp: In function 'int main()':
vault.cpp:31:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |                     if(i-cl<0||i-cl>=dp.size()||dp[i-cl]==-1) continue;
      |                                ~~~~^~~~~~~~~~~
vault.cpp:43:32: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |                 if(i-cl<0||i-cl>=dp.size()||dp[i-cl]==-1) continue;
      |                            ~~~~^~~~~~~~~~~
vault.cpp:51:14: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |     if(l+maxl<dp.size()&&dp[l+maxl]>0) cout<<dp[l+maxl]<<'\n';
      |        ~~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...