?? 3279529_ac_16ms_196k.cpp
字號:
#include <stdio.h>
int main()
{
int n;
double a0, an1, a1, aa, ab, min, max, mid, S, minh;
scanf("%d%lf",&n,&a0);
n -= 2;
S = (n+1)*n/2;
min = 0;max = 2100000000;
while(min < max - 1e-4)
{
mid = (min+max)/2;
an1 = mid;
minh = a1 =(an1-2*S+n*a0)/(n+1);
aa = a0;
for(int i = 1; i < n; i++)
{
ab = 2.0*(1.0+a1)-aa;
if(ab < minh)
{
minh = ab;
}
aa = a1;
a1 = ab;
if(minh < 0)
break;
}
if(minh < 0)
min = mid;
else
max = mid;
}
printf("%.2lf\n",min);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -