用一個「飽足值總和」陣列 (注意!不是「飽足值」陣列) 先將飽足值總和存起來。
例如說,陣列第五個位置,儲存「第一個到第五個」食物的飽足值總和;
陣列第六個位置,儲存「第一個到第六個」食物的飽足值總合...以此類推。
於是,當要計算某區間 (例如:第三個到第五個) 時,就用第五個位置減掉第二個位置。
白話就是:「五個食物的飽足總和 - 前兩個食物的飽足總和」。
減法就是XXms的原因,不是加速。
說實在的,這種考數學不考程式設計技巧的題目,很討厭啊...
如果使用 C++ 的,
加上 #include <cstdio>
然後使用 scanf( ), printf( ) 取代 cin, cout
就會變 XX ms 了。