Submission #248350

#TimeUsernameProblemLanguageResultExecution timeMemory
248350GurbanSplit the sequence (APIO14_sequence)C++17
0 / 100
58 ms1656 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define ss second #define ff first #define N 100005 #define inf 1000000009 #define ll long long #define pii pair<int,int> #define sz(a) int(a.size()) #define all(a) a.begin(),a.end() ll gcd(ll a,ll b){return b?gcd(b,a%b):a;} const ll mod = 1e9+7; //998244353; ll modpow(ll a, ll e) { if (e == 0) return 1; ll x = modpow(a * a % mod, e >> 1); return e & 1 ? x * a % mod : x; } int n,k,p[N],a[N],pos,g; ll ans,mx,sum,jog; int main(){ //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); scanf("%d%d",&n,&k); for(int i = 1;i <= n;i++) scanf("%d",&a[i]); p[n] = 1; for(int i = 1;i <= k;i++){ pos = 1,mx = 0; for(int j = 1;j <= n;j++){ sum += a[j]; if(p[j] == 1){ jog = 0; for(int l = pos;l <= j;l++){ jog += a[l]; if(mx < jog*(sum-jog)){ mx = (sum-jog)*jog; g = l; } } pos = j + 1,sum = 0; } } p[g] = 1,ans += mx; } printf("%lld\n",ans); for(int i = 1;i < n;i++){ if(p[i]) printf("%d ",i); } } /* 7 3 4 1 3 4 0 2 3 */

Compilation message (stderr)

sequence.cpp: In function 'int main()':
sequence.cpp:27:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&k);
  ~~~~~^~~~~~~~~~~~~~
sequence.cpp:28:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 1;i <= n;i++) scanf("%d",&a[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...