您的答案為: 17
正確答案為: 11
#include <iostream>
using namespace std;
int main(){
int n,d;
cin>>n>>d;
int s[n];
for(int i=0;i<n;i++){
cin>>s[i];
}
int sum = 0,a = s[0];
for(int i=1;i<n;i++){
if(s[i]>a && s[i]-a>=d){
sum += s[i]-a;
//cout<<"sum="<<sum<<endl;
a=s[i];
for(int j=i+1;j<n;j++){
if(a>s[j] && a-s[j]>=d){
a = s[j];
i = j;
break;
}
}
//cout<<"i="<<i<<endl;
}
}
#3: 5% WA (line:1)
您的答案為: 17 正確答案為: 11
#include using namespace std; int main(){ int n,d; cin>>n>>d; int s[n]; for(int i=0;i<n;i++){ cin>>s[i]; } int sum = 0,a = s[0]; for(int i=1;i<n;i++){ if(s[i]>a && s[i]-a>=d){ sum += s[i]-a; //cout<<"sum="<<sum<<endl; a=s[i]; for(int j=i+1;j<n;j++){ if(a>s[j] && a-s[j]>=d){ a = s[j]; i = j; break; } } //cout<<"i="<<i<<endl; } }
你沒有檢查是否持有股票,所以同一個股票可能被賣掉兩次