Submission #33958

#TimeUsernameProblemLanguageResultExecution timeMemory
33958mohammad_kilaniSplit the sequence (APIO14_sequence)C++14
0 / 100
53 ms2800 KiB
#include <bits/stdc++.h> using namespace std; #define mod 1000000007 #define oo 2000000000 const int N = 100010; int n , k , arr[N] , sum[N]; long long ans; vector<int> va; void solve(vector<int> &v,int j,long long all){ if(j == k){ if(all > ans){ ans = all; va = v; } return ; } long long cur = 0 ; int k = 1; int idx = 0 ; int last = 0 ; for(int i=0;i<v.size();i++){ while(k <= v[i]){ long long f = sum[k] - sum[last]; long long s = sum[v[i]] - sum[k]; long long num = f * s; if(num > cur){ cur = num; idx = k; } k++; } last = v[i]; } v.push_back(idx); sort(v.begin(),v.end()); solve(v,j+1,all + cur); } int main() { //freopen("in.txt","r",stdin); scanf("%d%d",&n,&k); for(int i=1;i<=n;i++){ scanf("%d",&arr[i]); sum[i] = sum[i-1] + arr[i]; } vector<int> v; v.push_back(n); solve(v,0,0); cout << ans << endl;; for(int i=0;i<va.size()-1;i++){ printf("%d ",va[i]); } cout << endl; return 0; }

Compilation message (stderr)

sequence.cpp: In function 'void solve(std::vector<int>&, int, long long int)':
sequence.cpp:22:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<v.size();i++){
               ^
sequence.cpp: In function 'int main()':
sequence.cpp:51:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<va.size()-1;i++){
               ^
sequence.cpp:42:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&k);
                     ^
sequence.cpp:44:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&arr[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...
#Verdict Execution timeMemoryGrader output
Fetching results...