Submission #1059944

#TimeUsernameProblemLanguageResultExecution timeMemory
1059944vjudge1Split the sequence (APIO14_sequence)C++17
0 / 100
7 ms2648 KiB
/** * \`*-. * ) _`-. * . : `. . * : _ ' \ * ; *` _. `*-._ * `-.-' `-. * ; ` `. * :. . \ * . \ . : .-' . * ' `+.; ; ' : * : ' | ; ;-. * ; ' : :`-: _.`* ; * [VĐ] .*' / .*' ; .*`- +' `*' * `*-* `*-* `*-*' **/ /** HELLO WOLRD**/ #include <bits/stdc++.h> #define NAME "main" #define data DANG #define int int64_t #define ii pair<int64_t , int64_t> #define fi first #define se second using namespace std; const int64_t INF64 = 0x3f3f3f3f3f3f3f3f; const int INF32 = 0x3f3f3f3f; const int N = 2e5; int n , k; int64_t a[N + 2] , pre[N + 2]; int64_t ans , sum , tmp , res; void init(){ cin >> n >> k; for(int i = 1 ; i <= n ; i++) cin >> a[i]; } void solve(){ for(int i = 1 ; i <= n ; i++) pre[i] = pre[i - 1] + a[i]; for(int i = 1 ; i < (1 << n) ; i++){ sum = 0 , tmp = 0; int x = __builtin_popcount(i); if(x != k) continue; for(int j = 0 ; j < n ; j++){ if(i >> j & 1){ sum += (pre[n] - pre[j + 1]) * (pre[j + 1] - tmp); tmp = pre[j + 1]; } } if(sum > ans){ ans = sum; res = i; } } cout << ans << '\n'; for(int i = 0 ; i < n ; i++) if(res >> i & 1) cout << i + 1 << " "; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); init(); solve(); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...