題目背景
za果然是半吊子水平,竟然選了一個最肥的Pikachu做小伙伴。經(jīng)過實戰(zhàn)za發(fā)現(xiàn)這只Pikachu戰(zhàn)斗水平并不高,但是體重很可觀。于是za打算將其往卡比獸方向培養(yǎng)。其實這只極度肥胖的Pikachu也不算很能吃,但不知道為什么連喝水都能胖。這個問題困擾了za很久,終于經(jīng)過徹夜的冥想,za終于發(fā)現(xiàn)其中的奧秘了!(廣大吃貨朋友的福音)原來這只Pikachu的消化系統(tǒng)很有問題,吃下的食物會在肚子里不斷累積增加體重,且會隨著時間的增長成倍增加!即設(shè)Pikachu初始體重為w,那么當(dāng)?shù)?秒吃了重量為p1的食物后,1s后Pikachu體重變?yōu)閣+p1;第2秒又吃了重量為p2的食物,則2s后Pikachu的體重為w+p1*2+p2。za的數(shù)學(xué)學(xué)得很糟糕,不能準(zhǔn)確的計算他的Pikachu當(dāng)前重量。小伙伴們,幫幫忙算一算吧!輸入
第一行:Pikachu的初始體重w第二行:Pikachu吃東西持續(xù)的時間N(1<=N<=30000)第三行:包含N個整數(shù)pi,代表Pikachu每一秒吃的食物的重量。由于Pikachu實在太胖了,za把食物重量控制在一個小范圍內(nèi)。(0<=pi<=4)注:za作為訓(xùn)練師中的業(yè)界良心,保證Pikachu的體重不會超過int范圍,不會被撐死。輸出
Pikachu在每一秒后的體重Example:
Input:141 2 3 4Output:2 5 11 21第1s:1 + 1*1;第2s:1 + 1*2 + 2*1;第3s: 1 + 1*3 + 2*2 + 3*1;第4s:1 + 1*4 + 2*3 + 3*2 + 4*1;作者
za#include <stdio.h>#include <stdlib.h>int wt[30001]={0},p[30001]={0};void f(int n,int M,int v){ int m; for(n=0;n<M;n++){ for(m=0;m<=n;m++){ wt[n]+=p[m]*(n-m+1); } wt[n]+=v; }}int main(){ int w,N,i; scanf("%d",&w); scanf("%d",&N); for(i=0;i<N;i++){ scanf("%d",&p[i]); } f(i,N,w); for(i=0;i<N-1;i++){ 不用函數(shù)的話我的渣渣程序最后一個用例會TLE=。=新聞熱點
疑難解答