제출 #517294

#제출 시각아이디문제언어결과실행 시간메모리
517294CodeTiger927Bali Sculptures (APIO15_sculpture)C++14
37 / 100
32 ms4260 KiB
using namespace std; #include <iostream> #include <cstring> #define MAXN 2005 int N,A,B; long long a[MAXN],pref[MAXN]; bool dp[MAXN][MAXN]; bool between(long long l,long long r,long long n) { return (n >= l && n <= r); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> A >> B; for(int i = 0;i < N;++i) { cin >> a[i]; pref[i + 1] = a[i] + pref[i]; } long long pre = 0; for(int i = 30;i >= 0;--i) { long long l = pre; long long r = pre + (1ll << i) - 1; // cout << pre << " " << l << " " << r << endl; memset(dp,0,sizeof(dp)); dp[0][0] = true; for(int j = 1;j <= N;++j) { for(int k = 1;k <= N;++k) { for(int t = 0;t < j;++t) { if(dp[t][k - 1] && ((pref[j] - pref[t]) | r) <= r) { dp[j][k] = true; break; } } } } bool uwu = false; for(int j = A;j <= B;++j) { uwu |= dp[N][j]; } if(!uwu) { pre |= (1 << i); } } cout << pre << endl; }

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

sculpture.cpp: In function 'int main()':
sculpture.cpp:26:13: warning: unused variable 'l' [-Wunused-variable]
   26 |   long long l = pre;
      |             ^
#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...