Submission #498400

#TimeUsernameProblemLanguageResultExecution timeMemory
498400NalrimetSplit the sequence (APIO14_sequence)C++17
0 / 100
2087 ms9684 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pb push_back
#define ppb pop_back

long long n, k, answ, sum, pref[100005], a[100005];
vector<int> v, ans;

void rec(int pos, int last){
    if(pos == n){
        if(sum > answ){
            answ = sum;
            ans = v;
        }
        return;
    }
    if(v.size() != k){
        v.pb(pos);
        sum += (pref[n] - pref[pos]) * (pref[pos] - pref[last]);
        rec(pos + 1, pos);
        sum -= (pref[n] - pref[pos]) * (pref[pos] - pref[last]);
        v.ppb();
    }
    rec(pos + 1, last);
}

 main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	cin >> n >> k;

	for(int i = 1; i <= n; ++i){
        cin >> a[i];
        pref[i] = pref[i - 1] + a[i];
	}

	rec(1, 0);

	cout << answ << '\n';
    for(auto to : ans){
        cout << to << ' ';
    }

	return 0;

}

Compilation message (stderr)

sequence.cpp: In function 'void rec(long long int, long long int)':
sequence.cpp:19:17: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   19 |     if(v.size() != k){
      |        ~~~~~~~~~^~~~
sequence.cpp: At global scope:
sequence.cpp:29:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   29 |  main(){
      |  ^~~~
#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...