题目链接:点击打开链接
代码:
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
int t;
scanf("%d",&t);
int k=t;
while(t--)
{
printf("Case #%d: ",k-t);
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
long long sum = 1;
if(n!=1){
double j=a[n-1]-a[n-2];
for(int i=n-2;i>0;i--)
{
if(a[i]-a[i-1]>j)
{
double k1=(a[i]-a[i-1])/j;
int t1 = k1;
if(k1 - t1 > 1e-8 ) t1++;
sum+=t1;
j=(a[i]-a[i-1])/(double)t1;
}
else
{
j=a[i]-a[i-1];
sum++;
}
}
if(a[0]>j)
{
double k1=a[0]/j;
int t1 = k1;
if(k1 - t1 > 1e-8) t1++;
sum+=t1;
}
else sum++;}
printf("%lld\n",sum);
}
}