#17883: NA 不知道哪錯


pcymichael (alexi)

學校 : 高雄市立海青高級工商職業學校
編號 : 67763
來源 : [36.238.150.11]
最後登入時間 :
2019-07-09 15:53:50
e180. Runningman - 撕名牌大戰 -- 트와이스 | From: [59.126.38.210] | 發表日期 : 2019-05-29 11:36

想問一下哪裡錯了 找不到

這是DP的概念ㄅ

===================================================

#include<iostream>
using namespace std;
int main(){
int n;
while(cin>>n&&n!=0){
    int price[10000]={0},maxGain[10000]={0},minPrice[10000]={0};
    for(int i=0;i<n;i++)
        cin>>price[i];
    minPrice[0]=price[0];
    maxGain[0]=0;
    for(int i=1;i<n;i++){
        minPrice[i]=min(price[i],minPrice[i-1]);
        maxGain[i]=max(price[i]-minPrice[i-1],maxGain[i-1]);
    }
    cout<<maxGain[n-1]<<endl;
}
}

===================================================

 
#17885: Re:NA 不知道哪錯


rollfc (胖胖貓)

學校 : 國立清華大學
編號 : 81012
來源 : [36.229.39.123]
最後登入時間 :
2024-04-19 00:03:36
e180. Runningman - 撕名牌大戰 -- 트와이스 | From: [140.113.208.181] | 發表日期 : 2019-05-29 21:38

想問一下哪裡錯了 找不到

這是DP的概念ㄅ

===================================================

#include
using namespace std;
int main(){
int n;
while(cin>>n&&n!=0){
    int price[10000]={0},maxGain[10000]={0},minPrice[10000]={0};
    for(int i=0;i<n;i++)
        cin>>price[i];
    minPrice[0]=price[0];
    maxGain[0]=0;
    for(int i=1;i<n;i++){
        minPrice[i]=min(price[i],minPrice[i-1]);
        maxGain[i]=max(price[i]-minPrice[i-1],maxGain[i-1]);
    }
    cout<<maxGain[n-1]<<endl;
}
}

===================================================

你要不要測試看看以下測資:

4

1 3 2 4

答案應該要是4,你的會輸出3。

理論上這題的要求與動態規劃無關,反而是當交易次數有限制時才會用到(應該吧?)

 
ZeroJudge Forum