Submission #1209956

#TimeUsernameProblemLanguageResultExecution timeMemory
1209956hehebjp123Feast (NOI19_feast)C11
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define all(a) a.begin(),a.end()
#define ii pair<ll,ll>
using namespace std;

const ll N=3e5+5;
ll t,n,i,j,m,k;
ll res=0,ans=0;
ll dp[2][N],a[N];
ll check(ll k)
{
    dp[0][0]=0;
    dp[1][0]=-1e18;
    ll res=0;
    for(ll i=1;i<=n;i++)
    {
        // calc dp[0][i]=max(dp[0][i-1],dp[1][i-1]+a[i])
    dp[0][i]=max(dp[0][i-1],dp[1][i-1]);
    dp[1][i]=max(dp[0][i-1]+a[i]-k,dp[1][i-1]+a[i]);
    //    cout<<sl[0][i]<<" "<<dp[0][i]<<" "<<sl[1][i]<<" "<<dp[1][i]<<'\n';
    res=max(res,dp[1][i]);
  //  cout<<dp[0][i]<<" "<<dp[1][i]<<'\n';
    }
    ans=res;
    res+=k;
    ll vt=-1,sl=0;
    for(ll i=n;i>0;i--)
    {
    if(i!=vt-1&&res-k==dp[1][i])
    {
        res=dp[1][i]-a[i];
        sl++;
        vt=i;
    }
    if(i==vt-1&&res==dp[1][i])
    {
        res=dp[1][i]-a[i];
        vt=i;
    }
    }
    ans+=sl*k;
    return sl;
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
cin>>n>>k;
for(i=1;i<=n;i++) cin>>a[i];
ll l=0,r=1e9;
//return cout<<check(6),0;
while(l<=r)
{
    ll mid=(l+r)/2;
    ll kq=check(mid);
    //cout<<mid<<" "<<kq<<'\n';
    if(kq==k) return cout<<ans,0;
    if(kq>k)
        l=mid+1;
    else r=mid-1;

}
cout<<0;
    return 0;
}
/*
6 1
1 -2 3 -1 5 -6
*/

Compilation message (stderr)

feast.c:1:10: fatal error: bits/stdc++.h: No such file or directory
    1 | #include <bits/stdc++.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.