답안 #56512

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
56512 2018-07-11T14:40:55 Z leejseo Bali Sculptures (APIO15_sculpture) C++
0 / 100
46 ms 47696 KB
#include <bits/stdc++.h>
using namespace std;

#define UNDEF -1

int L[2001], N, A, B;
int M[2001][2001];
long long D[2001][2001];

void input(){
	scanf("%d%d%d", &N, &A, &B);
	memset(M, -1, sizeof(M));
	memset(D, -1, sizeof(D));
	for (int i=1; i<=N; i++) scanf("%d", &L[i]);
	for (int i=1; i<=N; i++){
		M[i][i] = L[i];
		for (int j=i+1; j<=N; j++){
			M[i][j] = M[i][j-1] | L[j];
		}
	}
}

void DP(){
	for (int i=1; i<=N; i++){
		D[i][1] = M[1][i];
		for (int j=2; j<=i; j++){
			D[i][j] = D[i-1][j-1] + L[i];
			for (int k=1; k<i; k++){
				if (D[k][j-1] != UNDEF) D[i][j] = D[k][j-1] + M[k+1][i];
			}
		}
	}
}

int main(void){
	input();
	DP();
	long long ans = (long long)1e15;
	for (int i=A; i<=B; i++) ans = min(ans, D[N][i]);
	printf("%lld\n", ans);
    return 0;
}

Compilation message

sculpture.cpp: In function 'void input()':
sculpture.cpp:11:7: 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:14:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (int i=1; i<=N; i++) scanf("%d", &L[i]);
                           ~~~~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 41 ms 47408 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 43 ms 47544 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 39 ms 47672 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 39 ms 47672 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 46 ms 47696 KB Output isn't correct
2 Halted 0 ms 0 KB -