基本上就是照著題目敘述稀里糊塗寫在 if 裡面就可以了,我還用了前綴和,這樣比較方便算區間和。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include<iostream> using namespace std;
int main(){ int k[20]={0},p[20]={0}; for(int i=1;i<=15;i++){ cin>>k[i]; p[i]=p[i-1]+k[i]; } for(int i=11;i<=15;i++){ cout<<k[i]; if((p[i]-p[i-10]) > (p[i-1]-p[i-1-10]) && (p[i]-p[i-5]) > (p[i-1]-p[i-1-5]) && (k[i]*5> (p[i]-p[i-5]) && (p[i]-p[i-5])*2 > (p[i]-p[i-10])) && (5*k[i]*10 < 6*(p[i]-p[i-10])*10/10) ){ cout<<"B"; }else if(5*k[i]*10 > 6*(p[i]-p[i-10])*10/10 || (k[i]*10< (p[i]-p[i-5])*10/5 && (p[i]-p[i-5])*2 < (p[i]-p[i-10])) || (p[i]-p[i-10]) < (p[i-1]-p[i-1-10]) ){ cout<<"S"; }else{ cout<<"N"; } cout<<" "; } return 0; }
|