有一个硬约束:
A
[
i
]
>
=
0
&
&
A
[
i
]
<
=
B
[
i
]
A[i]>=0 \&\& A[i] <= B[i]
A[i]>=0&&A[i]<=B[i]
在
B
[
i
]
B[i]
B[i]变化时,一定有
A
[
i
]
=
=
B
[
i
]
A[i]==B[i]
A[i]==B[i]
所以
B
[
i
]
B[i]
B[i]变化时
m
i
n
+
=
B
[
i
]
,
m
a
x
+
=
B
[
i
]
min+=B[i],max+=B[i]
min+=B[i],max+=B[i];
B
[
i
]
B[i]
B[i]不变时
m
i
n
+
=
0
,
m
a
x
+
=
B
[
i
]
min+=0,max+=B[i]
min+=0,max+=B[i]
/*
* @Email: zhiyyyu@gmail.com
* @Author: Deng Zehui
* @Github: nArrow4
* @Date: 2021-10-11 23:10:03
*/#include<bits/stdc++.h>usingnamespace std;intmain(){int n;
cin >> n;
vector<int>B(n);for(int i =0; i < n;i++)
cin >> B[i];int max = B[0];int min = B[0];for(int i =1; i < n;i++){if(B[i]!= B[i-1]){
min += B[i];}
max += B[i];}
cout << max << endl
<< min << endl;}