Submission #999566

#TimeUsernameProblemLanguageResultExecution timeMemory
999566I_FloPPed21Bali Sculptures (APIO15_sculpture)C++14
37 / 100
11 ms4700 KiB
#include <iostream> using namespace std; int n, a, b; long long v[300005]; long long dp[2005][2005]; void solve2() { long long val = 0; long long tot = 0 ; for ( long long i = 31; i >= 0 ; i -- ) { tot |= ( 1ll << i ) ; } for ( long long i = 31; i >= 0 ; i -- ) { tot -= ( 1 << i ); for ( int j = 0; j <= n ; j ++ ) { for (int k = 0; k <= n ; k ++ ) dp[j][k] = false ; } dp[0][0] = true ; for ( int j = 1; j <= n; j ++ ) { long long sum = 0 ; for ( int k = j ; k >= 1; k -- ) { sum += v[k]; long long cot = ( sum & tot ) ; long long vot = sum - cot ; if ( (val | vot) == val ) { // cout << j << " " << k << '\n'; for ( int t = 0; t <= b; t ++ ) { if( dp[k-1][t] == true ) dp[j][t+1] = true ; } } } } bool yes = false; for ( int d = a ; d <= b ; d ++ ) { if ( dp[n][d] == true ) { yes = true ; } } // cout << "YES" << '\n'; if( yes == false ) val |= ( 1ll << i); } cout << val << '\n'; } int main() { cin>> n >> a >> b; for( int i = 1; i <= n ; i ++ ) { cin >> v[i]; } solve2(); 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...