Submission #961075

#TimeUsernameProblemLanguageResultExecution timeMemory
961075NurislamSplit the sequence (APIO14_sequence)C++17
Compilation error
0 ms0 KiB
///* __ __ __ */ ///* ====== _ /| /| __ _ / | | /| | * | | | | / /| |\ | / | | * | / */ ///* \- || |_| |_ / |/ | | | |_ |- | |--| /-| | | \ \ |==| |- /=| | \ | | |--| | |- */ ///* || | | |_ / | |__| _| |_ \__ | | / | |__ | __| | | | \ / | | \| \__ | | | | \ */ ///* // autor :: Rick Prime #pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define pb push_back #define ff first #define ss second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long typedef vector<int> vi; typedef vector<double> vd; typedef pair<int,int> pii; typedef vector<pii> vii; const int N = 2e5+50, inf = 1e18, mod = 1e9+7; void solve(){ int n, k; cin >> n >> k; int dp[n][k+1]; memset(dp, 0, sizeof(dp)); int a[n]; for(int &i:a)cin >> i; int sf[n+1]{}; for(int i = n-1; i >= 0; i--){ sf[i] = a[i]+sf[i+1]; } int pr[n][k]; int ans = 0, ps = 0; for(int i = 0; i < n; i++){ int sm = 0; for(int j = i-1; j >= 0; j--){ sm+=a[j]; for(int x = 0; x < k; x++){ //dp[j][x] + sm*sf[i] //dp[i][x+1] if(dp[i][x+1] <= dp[j][x]+ sm*sf[i]){ pr[i][x+1] = j; dp[i][x+1] = dp[j][x] + sm*sf[i]; } } } if(dp[i][k] > ans){ ps = i; ans = dp[i][k]; } } cout << ans << '\n'; vi v; while(k){ v.pb(ps+1); ps = pr[ps][k]; k--; }reverse(all(v)); for(auto i:v)cout << i << ' '; } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while (tt--) { solve(); } } ///* __ __ __ */ ///* ====== _ /| /| __ _ / | | /| | * | | | | / /| |\ | / | | * | / */ ///* \- || |_| |_ / |/ | | | |_ |- | |--| /-| | | \ \ |==| |- /=| | \ | | |--| | |- */ ///* || | | |_ / | |__| _| |_ \__ | | / | |__ | __| | | | \ / | | \| \__ | | | | \ */ ///* // autor :: Rick Prime #pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define pb push_back #define ff first #define ss second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long typedef vector<int> vi; typedef vector<double> vd; typedef pair<int,int> pii; typedef vector<pii> vii; const int N = 2e5+50, inf = 1e18, mod = 1e9+7; void solve(){ int n, k; cin >> n >> k; int dp[n][k+1]; memset(dp, 0, sizeof(dp)); int a[n]; for(int &i:a)cin >> i; int sf[n+1]{}; for(int i = n-1; i >= 0; i--){ sf[i] = a[i]+sf[i+1]; } int pr[n][k]; int ans = 0, ps = 0; for(int i = 0; i < n; i++){ int sm = 0; for(int j = i-1; j >= 0; j--){ sm = sf[j]-sf[i]; for(int x = 0; x < k; x++){ //dp[j][x] + sm*sf[i] //dp[i][x+1] if(dp[i][x+1] < dp[j][x] + sm*sf[i]){ pr[i][x+1] = j; dp[i][x+1] = dp[j][x] + sm*sf[i]; } } } if(dp[i][k] > ans){ ps = i; ans = dp[i][k]; } } cout << ans << '\n'; vi v; int re = k; while(k){ if(re == k)v.pb(ps+1); else v.pb(ps); ps = pr[ps][k--]; }reverse(all(v)); for(auto i:v)cout << i << ' '; cout << '\n'; } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while (tt--) { solve(); } }

Compilation message (stderr)

sequence.cpp:63:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   63 | main(){
      | ^~~~
sequence.cpp:113:11: error: redefinition of 'const long long int N'
  113 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |           ^
sequence.cpp:20:11: note: 'const long long int N' previously defined here
   20 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |           ^
sequence.cpp:113:23: error: redefinition of 'const long long int inf'
  113 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |                       ^~~
sequence.cpp:20:23: note: 'const long long int inf' previously defined here
   20 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |                       ^~~
sequence.cpp:113:35: error: redefinition of 'const long long int mod'
  113 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |                                   ^~~
sequence.cpp:20:35: note: 'const long long int mod' previously defined here
   20 | const int N = 2e5+50, inf = 1e18, mod = 1e9+7;
      |                                   ^~~
sequence.cpp:115:6: error: redefinition of 'void solve()'
  115 | void solve(){
      |      ^~~~~
sequence.cpp:22:6: note: 'void solve()' previously defined here
   22 | void solve(){
      |      ^~~~~
sequence.cpp:158:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  158 | main(){
      | ^~~~
sequence.cpp:158:1: error: redefinition of 'int main()'
sequence.cpp:63:1: note: 'int main()' previously defined here
   63 | main(){
      | ^~~~