Submission #866814

#TimeUsernameProblemLanguageResultExecution timeMemory
8668141075508020060209tcBali Sculptures (APIO15_sculpture)C++14
0 / 100
1 ms2512 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int dp[2010][2010]; int ar[2010]; int ps[2010]; int A;int B; int n; int ok(int msk){ dp[0][0]=1; for(int k=1;k<=B;k++){ for(int i=1;i<=n;i++){ dp[k][i]=0; } vector<int>vc; if(dp[k-1][0]){vc.push_back(0);} for(int i=k;i<=n;i++){ for(int j=0;j<vc.size();j++){ int v=ps[i]-ps[vc[j]]; if( ((v|msk)==msk) ){ dp[k][i]=1;break; } } if(dp[k-1][i]){ vc.push_back(i); } } if(dp[k][n]==1&&k>=A){return 1;} } return 0; } signed main(){ cin.tie(0); ios_base::sync_with_stdio(0); cin>>n>>A>>B; for(int i=1;i<=n;i++){ cin>>ar[i]; ps[i]=ar[i]+ps[i-1]; } int msk=(1ll<<46)-1; for(int bt=45;bt>=0;bt--){ if(ok(msk^(1ll<<bt))){ msk^=(1ll<<bt); } } cout<<msk; }

Compilation message (stderr)

sculpture.cpp: In function 'long long int ok(long long int)':
sculpture.cpp:18:22: 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]
   18 |         for(int j=0;j<vc.size();j++){
      |                     ~^~~~~~~~~~
#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...