제출 #45833

#제출 시각아이디문제언어결과실행 시간메모리
45833ExtazyBali Sculptures (APIO15_sculpture)C++17
21 / 100
12 ms1280 KiB
#include <bits/stdc++.h>
#define endl '\n'

using namespace std;

const int N = 2007;
const long long INF = 1000000000000007;

int n,a,b;
long long arr[N],ans;
bool used[N][N];
long long state[N][N];

long long recurse(int pos, int groups) {
    if(pos>n) {
        if(groups==0) return 0;
        return INF;
    }

    if(used[pos][groups]) return state[pos][groups];

    long long ans=INF;
    int i;

    for(i=pos;i<=n;i++) {
        if(recurse(i+1,groups-1)!=INF) ans=min(ans,(arr[i]-arr[pos-1])|recurse(i+1,groups-1));
    }

    used[pos][groups]=true;
    return state[pos][groups]=ans;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int i;

    scanf("%d %d %d", &n, &a, &b);
    for(i=1;i<=n;i++) {
        scanf("%lld", &arr[i]);
        arr[i]+=arr[i-1];
    }

    ans=INF;
    for(i=a;i<=b;i++) {
        if(recurse(1,i)!=INF) ans=min(ans,recurse(1,i));
    }

    printf("%lld\n", ans);
    
    return 0;
}

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

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