0
已解决
高梓荣
新手天翼
新手天翼
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int a[10005],f[10005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
f[0]=1;
for(int i=1;i<=n;i++)
{
f[i]=max(f[i],f[i-1]+a[i]);
}
cout<<f[n];
return 0;
}
找错(der)
纯属瞎写
给个思路就行
高梓荣在2020-08-02 17:29:53追加了内容
真棒 找错
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int a[10005],sell[10005],buy[10005],cool[10005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
buy[0]=-a[0];
for(int i=1;i<=n;i++)
{
sell[i]=max(buy[i-1]+a[i],sell[i-1]);
buy[i]=max(cool[i-1]-a[i],buy[i-1]);
cool[i]=max(cool[i-1],sell[i-1]);
}
cout<<sell[n-1];
return 0;
}
高梓荣在2020-08-02 17:30:08追加了内容
真棒 找错
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int a[10005],sell[10005],buy[10005],cool[10005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
buy[0]=-a[0];
for(int i=1;i<=n;i++)
{
sell[i]=max(buy[i-1]+a[i],sell[i-1]);
buy[i]=max(cool[i-1]-a[i],buy[i-1]);
cool[i]=max(cool[i-1],sell[i-1]);
}
cout<<sell[n-1];
return 0;
}