[Time Gate] https://www.luogu.org/problem/P1969 【解题思路】 //把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多个非递减序列。 //然后所有段中最大值的和减去除第一段外的段的最小值,化简一下,就出
[Time Gate]
https://www.luogu.org/problem/P1969
【解题思路】
//把序列分成(a1,..ai)(ai+1,...aj)......(ak,...an)多个非递减序列。 //然后所有段中最大值的和减去除第一段外的段的最小值,化简一下,就出来了
【code】
1 #include <cstdio>
2 #include <iostream>
3 #include <algorithm>
4 using namespace std; 5 int i,n,a[1005],ans; 6 int main(){ 7 //freopen("2025.in","r",stdin); 8 //freopen("2025.out","w",stdout);
9 scanf("%d",&n); 10 for(i=1;i<=n;i++) 11 scanf("%d",&a[i]); 12 ans=a[1]; 13 for(i=1;i<n;i++){ 14 if(a[i+1]>=a[i])ans+=a[i+1]-a[i]; 15 else continue; 16 } 17 printf("%d\n",ans); 18 return 0; 19 }