题目描述
链接:https://ac.nowcoder.com/acm/contest/93687/J
来源:牛客网
rikki定义一个数组的陡峭值为:数组相邻元素差的绝对值之和。例如 [1,1,4,5,1,4] 的陡峭值为 |1-1|+|1-4|+|4-5|+|5-1|+|1-4| = 0+3+1+4+3 = 11。
链接:https://ac.nowcoder.com/acm/contest/93687/J
来源:牛客网
rikki现在有一个数组a,其中每个元素可以在[li,ri] 中选择一个整数,求最小的陡峭值。
样例
4
1 3
2 5
3 6
4 7
奇妙的码
const int N = 2e5 + 10;
int l[N], r[N];
void solve()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++) cin >> l[i] >> r[i];
int L = l[1], R = r[1];
int ans = 0;
for (int i = 2; i <= n; i++)
{
L = max(L, l[i]);
R = min(R, r[i]);
if (L > R)
{
ans += L - R;
R = min(r[i], R);
L = max(l[i], R);
R = L;
}
}
cout << ans << '\n';
}