剛開始看錯了,以爲給的數字都是樓層,我說呢,怎麼都不能理解41是怎麼來的。
把寫錯的代碼貼在這,正好複習一下stringstream和getline的用法
//如果給的數字都是樓層可以這麼做,main函數裏:
string str;
while(getline(cin,str)){
int a,bf = 0,sum = 0;
stringstream ss;
ss<<str;
while(ss>>a){
sum += cal(bf,a);
bf = a;
}
printf("%d\n",sum);
}
//1008 elevator
//計算now到goal要花的時間
int cal(int now,int goal){
int time = 5;
if(now > goal) time += 4*(now-goal);
if(now < goal) time += 6*(goal-now);
return time;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a,bf=0,sum=0;
while(n--){
scanf("%d",&a);
sum+= cal(bf,a);
bf = a;
}
printf("%d\n",sum);
}
return 0;
}