Submission #1281424

#TimeUsernameProblemLanguageResultExecution timeMemory
1281424StefanSebezBali Sculptures (APIO15_sculpture)C++20
37 / 100
9 ms588 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double #define mp make_pair void chmn(ll &x,ll y){x=min(x,y);} void chmx(ll &x,ll y){x=max(x,y);} void chmn(int &x,int y){x=min(x,y);} void chmx(int &x,int y){x=max(x,y);} const int N=2050; const ll inf=(1LL<<60)-1; int n,A,B,a[N]; bool dp[102][102]; int main(){ scanf("%i%i%i",&n,&A,&B); for(int i=1;i<=n;i++) scanf("%i",&a[i]); ll ans=inf; /*for(int mask=0;mask<(1<<n);mask++){ ll res=0; int cnt=0; for(ll i=0,sum=0;i<=n;i++){ sum+=a[i]; if(i==n||((mask>>i)&1)){ res|=sum; sum=0; cnt++; if(i==n-1) break; } } if(A<=cnt&&cnt<=B) chmn(ans,res); }*/ for(int s=0;s<(1<<11);s++){ for(int i=0;i<=n;i++) for(int k=0;k<=B;k++) dp[i][k]=0; dp[0][0]=1; for(int i=1;i<=n;i++){ for(int k=1;k<=B;k++){ for(int j=i-1,sum=0;j>=0;j--){ sum+=a[j+1]; if(((sum|s)==s)&&dp[j][k-1]){dp[i][k]=1;break;} } } } for(int k=A;k<=B;k++) if(dp[n][k]){ans=s;break;} if(ans<inf) break; } /*for(int i=1;i<=n;i++){ for(int k=1;k<=B;k++){ for(int x=0;x<=512;x++){ for(int j=i-1,sum=0;j>=0;j--){ sum+=a[j+1]; if(dp[j][k-1][x])dp[i][k][x]=1; } } } }*/ printf("%lld\n",ans); return 0; }

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |     scanf("%i%i%i",&n,&A,&B);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
sculpture.cpp:19:32: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |     for(int i=1;i<=n;i++) scanf("%i",&a[i]);
      |                           ~~~~~^~~~~~~~~~~~
#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...