제출 #1265504

#제출 시각아이디문제언어결과실행 시간메모리
1265504canhnam357Bali Sculptures (APIO15_sculpture)C++20
71 / 100
11 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
#define N 100
int dp[N][N + 1];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, l, r;
    cin >> n >> l >> r;
    vector<int> a(n);
    for (int &i : a) cin >> i;
    long long ans = 0;
    for (int mask = 40; mask >= 0; mask--) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= r; j++) dp[i][j] = 0;
        }
        for (int i = 0; i < n; i++) {
            long long sum = 0;
            for (int j = i; j >= 0; j--) {
                sum += a[j];
                if (((sum | ans) ^ ans) < (1LL << mask)) {
                    if (j == 0) {
                        dp[i][1] = 1;
                    }
                    else {
                        for (int k = 2; k <= r; k++) {
                            dp[i][k] |= dp[j - 1][k - 1];
                        }
                    }
                }
            }
        }
        long long add = (1LL << mask);
        for (int i = l; i <= r; i++) {
            if (dp[n - 1][i]) {
                add = 0;
                break;
            }
        }
        ans += add;
    }   
    cout << ans;
    return 0;
}
#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...