제출 #609699

#제출 시각아이디문제언어결과실행 시간메모리
609699krit3379Bali Sculptures (APIO15_sculpture)C++14
50 / 100
557 ms23512 KiB
#include<bits/stdc++.h> using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #define N 2005 long long arr[N],qs[N][N],dp[N],bit; bitset<N> ok[N]; int main(){ int n,a,b,i,j,k; scanf("%d %d %d",&n,&a,&b); for(i=1;i<=n;i++)scanf("%lld",&arr[i]),arr[i]+=arr[i-1]; for(i=1;i<=n;i++)for(j=i;j<=n;j++)qs[i][j]=arr[j]-arr[i-1]; if(a==1){ for(i=60;i>=0;i--){ long long x=bit|((1ll<<i)-1ll); for(j=1;j<=n;j++)for(k=j;k<=n;k++)ok[j][k]=((qs[j][k]|x)==x); for(j=1;j<=n;j++){ dp[j]=ok[1][j]?1:1e9; for(k=1;k<j;k++)if(ok[k+1][j])dp[j]=min(dp[j],dp[k]+1); } if(dp[n]>b)bit|=1ll<<i; } printf("%lld",bit); } return 0; }

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

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