Submission #1157017

#TimeUsernameProblemLanguageResultExecution timeMemory
1157017arkanefurySplit the sequence (APIO14_sequence)C++20
11 / 100
2095 ms328 KiB
#include <bits/stdc++.h> #define pb push_back using namespace std; #define F first #define sz size() #define S second #define in insert #define double long double #define lb lower_bound #define int long long #define all(v) v.begin(), v.end() #define FOR(x, n, m, d) for(int x = n; x <= m; x += d) #define FORR(x, n, m, d) for(int x = n; x >= m; x -= d) #define nikita ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); const int N = 1e5+5; int n,m,tt,sum=0,l, r, x, y, cnt, block = 448, res; int a[N], b[N], c[N], ans, pref[N]; string s; vector<int>v, vec; void rec(int pos = 0, int sum = 0, int lp = 0){ if(lp == m){ if(ans <= sum)ans = sum, vec = v; return; } FOR(i, pos+1, n-1, 1){ v.pb(i); rec(i, sum + (pref[i] - pref[pos]) * (pref[n] - pref[i]), lp + 1 ); v.pop_back(); } } void solve() { cin >> n >> m; FOR(i, 1, n, 1)cin >> a[i], pref[i] = pref[i-1] + a[i]; rec(); cout << ans << '\n'; for(auto i : vec)cout << i << ' '; } signed main() { nikita tt = 1; if(!tt)cin >> tt; FOR(i, 1, tt, 1){ 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...