题目大意:
思路:我们考虑每堆石头要么在1之前拿走,要么在1后拿走。
#include <bits/stdc++.h> #define DB double using namespace std; int a[100005]; int main(){ int n; scanf("%d", &n); DB ans=0; for(int i=1; i<=n; i++){ scanf("%d", &a[i]); if(i>1){ ans+=a[i]*1.0/(a[i]+a[1]); } } printf("%.10f\n", ans+1); return 0; }