链接:https://ac.nowcoder.com/acm/contest/5758/B
来源:牛客网
存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一。问最少多少次操作,可以让所有数都变成1。
数据保证一定有解。
输入描述:
输入t,代表有t组数据。每组数据输入n,代表有n个数。接下来一行输入n个数,数字大小小于1e6。(t<=1000,n<1e5,∑n < 1e6)
输出描述:
每组数据输出一个整数代表最少需要操作的次数。
令a【0】=1然后答案就等于 所有a【i】-a【i-1】相加,我只能说有· 妙、
#include<iostream>
using namespace std;
int a[100005];
int main(){
int n,t,i,j;
cin>>t;
while(t--)
{
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
int ans=a[0]-1;
for(i=1;i<n;i++)
if(a[i]>a[i-1])
ans+=a[i]-a[i-1];
cout<<ans<<endl;
}
}