| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1350656 | bakhtiyarn | Bali Sculptures (APIO15_sculpture) | C++20 | 1095 ms | 448 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2000+5;
int a[N];
// for(int i=1; i<=n; i++)
void solve(){
int n, L, R; cin >> n >> L >> R;
for(int i=1; i<=n; i++) cin >> a[i];
int cur = 0;
for(int b=60; b>=0; b--){
cur += (1ll<<b)-1;
//
int has = 0;
vector<int> dp(n+1, 0); dp[0] = 1;
for(int g=1; g<=R; g++){
vector<int> n_dp(n+1, 0);
for(int i=1; i<=n; i++){
int sm = 0;
for(int j=i; j>=1; j--){
sm += a[j];
if((sm|cur) != cur) continue;
n_dp[i] |= dp[j-1];
if(n_dp[i]) break;
}
}
swap(dp, n_dp);
if(g >= L) has |= dp[n];
}
if(!has) cur += (1ll<<b);
//
cur -= (1ll<<b)-1;
}
cout << cur;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
