Submission #477452

#TimeUsernameProblemLanguageResultExecution timeMemory
477452PiejanVDC수열 (APIO14_sequence)C++17
0 / 100
2095 ms8496 KiB
#include <bits/stdc++.h> using namespace std; int n,k; int ans; vector<int>pref(100005); vector<int>v,ans_v; void dfs(int i, int last_cut, int cnt, int curr) { if(cnt == k) { if(curr > ans) ans_v = v; ans=max(ans,curr); return; } if(i == n) return; dfs(i+1,last_cut,cnt,curr); if(i>0) { v.push_back(i); dfs(i+1,i,cnt+1,curr + (pref[n] - pref[i]) * (pref[i] - pref[last_cut])); v.pop_back(); } } signed main() { cin>>n>>k; pref[0]=0; for(int i = 0 ; i < n ; i++) { int x; cin>>x; pref[i+1] = pref[i] + x; } dfs(0,0,0,0); cout << ans << "\n"; for(int i = 0 ; i < (int)ans_v.size() ; i++) { cout << ans_v[i]; if(i < ans_v.size()-1) cout << " "; } }

Compilation message (stderr)

sequence.cpp: In function 'int main()':
sequence.cpp:37:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |         if(i < ans_v.size()-1)
      |            ~~^~~~~~~~~~~~~~~~
#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...