1.在 int 乘 int 时,记得开 long long 以及进行强制类型转换。
2.假如你有一个序列 d1,d2,...,dn 且这些数中有负数,你要求出 m1,m2,...,mn 使得 mi 为 max(d1,d2,...,di),请一定注意代码不要写成:
for(int i=1;i<=n;i++){
m[i]=max(m[i-1],d[i]);
}
而应该是:
for(int i=1;i<=n;i++){
if(i==1) m[i]=d[i];
else m[i]=max(m[i-1],d[i]);
}
因为前者会在 d1 为负数时算出 m1=0。