Submission #40735

#TimeUsernameProblemLanguageResultExecution timeMemory
40735bogdan10bosBali Sculptures (APIO15_sculpture)C++14
50 / 100
118 ms748 KiB
#include <bits/stdc++.h> using namespace std; //#define FILE_IO typedef long long LL; int N, A, B; int v[2005]; LL s[2005]; LL ans; int dp1[2005]; bool can(int b) { LL pw = (1LL << b); if(A == 1) { dp1[0] = 0; for(int i = 1; i <= N; i++) { dp1[i] = N + 1; for(int j = 0; j < i; j++) if( ( (s[i] - s[j]) & (~ans) ) < pw ) dp1[i] = min(dp1[i], dp1[j] + 1); } return (dp1[N] <= B); } return true; } int main() { #ifdef FILE_IO freopen("1.in", "r", stdin); freopen("1.out", "w", stdout); #endif scanf("%d%d%d", &N, &A, &B); for(int i = 1; i <= N; i++) scanf("%d", &v[i]), s[i] = s[i - 1] + v[i]; ans = 0; for(int b = 41; b >= 0; b--) if( !can(b) ) ans ^= (1LL << b); printf("%lld\n", ans); return 0; }

Compilation message (stderr)

sculpture.cpp: In function 'int main()':
sculpture.cpp:40:32: 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:41:75: 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", &v[i]), s[i] = s[i - 1] + v[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...