0 效果
1 题目
评测用例规模与约定
所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数。
2 思路
每次存储上一次输入的值,与这次输入的值进行比较(这次输入的值减上次输入的值),如果两者的差值和上一次差值异号,则属于折点。
属性 | 值 | 值 | 值 | 值 | 值 | 值 | 值 |
---|---|---|---|---|---|---|---|
输入值num | 5 | 4 | 1 | 2 | 3 | 6 | 4 |
上次输入值contrastNum | 5 | 4 | 1 | 2 | 3 | 6 | |
变化趋势trend | -1 | -1 | +1 | +1 | +1 | -1 |
3 代码
#include<cstdio>
int main(){
int n, contrastNum = -1, num, ans = 0;
int trend = 0;//up-->1, down-->-1
scanf("%d", &n);
while(n--){
scanf("%d", &num);
if(contrastNum != -1){
if(trend == 1 && num - contrastNum < 0) ans++;
else if(trend == -1 && num - contrastNum > 0) ans++;
if(num - contrastNum > 0){
trend = 1;
}else{
trend = -1;
}
}
contrastNum = num;
}
printf("%d", ans);
return 0;
}