时间限制:1s
内存限制:128MB
题目描述
n位同学(编号从1到n)同时来到体育馆报名签到,领取准考证和参赛资料.为了有序报名,这n位同学需要按编号次序(编号为1的同学站在最前面)从前往后排成一条直线.然而每一位同学都不喜欢拥挤,对于第i位同学,如果有另外一位同学距离他(她)的距离小于ai,那么就会发生冲突.小可可想知道如果要不发生任何冲突的情况下,这n位同学排队的队列最短长度是多少.
输入
第一行一个整数n(1≤n≤105),表示报名签到的同学人数.
第二行有n个整数,第i个整数ai(1≤ai≤105)表示第i个同学必须与其他同学保持的距离.
输出
输出一行,包括一个整数,表示这n位同学排队队列的最小长度.
注意:n 位同学要按1∼n的次序从前往后排队.
样例
输入1
3 3 1 2
输出1
5
#include<bits/stdc++.h>
using namespace std;
int n,a[100005];
long long int s;
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(i>0)
{
s+=max(a[i-1],a[i]);
}
}
printf("%lld",s);
return 0;
}