제출 #43634

#제출 시각아이디문제언어결과실행 시간메모리
43634BruteforcemanBali Sculptures (APIO15_sculpture)C++11
50 / 100
96 ms1240 KiB
#include "bits/stdc++.h" using namespace std; int a[2005]; int dp[2005]; int n, A, B; typedef long long Long; Long p[2005]; const int bit = 42; long long mask; const int inf = 1e8; void solve (int x) { mask ^= 1LL << x; for(int i = 1; i <= n; i++) { dp[i] = inf; for(int j = 0; j < i; j++) { long long sum = p[i] - p[j]; if((sum | mask) == mask) dp[i] = min(dp[i], dp[j] + 1); } } if(dp[n] > B) { mask |= (1LL << x); } } int main(int argc, char const *argv[]) { scanf("%d %d %d", &n, &A, &B); for(int i = 1; i <= n; i++) { scanf("%d", a + i); } for(int i = 1; i <= n; i++) { p[i] = p[i - 1] + a[i]; } for(int i = 0; i <= bit; i++) { mask |= 1LL << i; } for(int x = bit; x >= 0; x--) { solve(x); } printf("%lld\n", mask); return 0; }

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

sculpture.cpp: In function 'int main(int, const char**)':
sculpture.cpp:29:31: 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:31:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", a + 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...