Go: package main

import (
	"bufio"
	"os"
	"strings"
	"strconv"
	"fmt"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	a := make([]float64, 10)
	for scanner.Scan() {
		info := strings.Split(scanner.Text(), ",")
		for j := 0; j < 10; j++ {
			a[j], _ = strconv.ParseFloat(info[j], 64)
		}
		v1, _ := strconv.ParseFloat(info[10], 64)
		v2, _ := strconv.ParseFloat(info[11], 64)
		sum := 0.0
		for i := 0; i < 10; i++ {
			sum += a[i]
		}
		match := v1 * ((sum/(v1+v2)))
		if match == 0 {
			fmt.Println(1)
		} else {
			sum = 0
			for k := 0; k < 10; k++ {
				sum += a[k]
				if match <= sum {
					fmt.Println(k+1)
					break
				}
			}
		}
	}
}

C++: #include <bits/stdc++.h>

#define rep(i, n) for (int i = 0; i < int(n); i++)
#define rrep(i, n) for (int i = int(n) - 1; i >= 0; i--)
#define reps(i, n) for (int i = 1; i <= int(n); i++)
#define rreps(i, n) for (int i = int(n); i >= 1; i--)
#define repc(i, n) for (int i = 0; i <= int(n); i++)
#define rrepc(i, n) for (int i = int(n); i >= 0; i--)
#define repi(i, a, b) for (int i = int(a); i < int(b); i++)
#define repic(i, a, b) for (int i = int(a); i <= int(b); i++)
#define repp(i, n) rep(i, n)
#define reppp(i, n) repp(i, n)
#define rrepp(i, n) rrep(i, n)
#define repss(i, n) reps(i, n)
#define repcc(i, n) repc(i, n)
#define repii(i, a, b) repi(i, a, b)
#define each(x, y) for (auto &x : y)
#define all(a) (a).begin(), (a).end()
#define bit(b) (1ll << (b))

using namespace std;

using i32 = int;
using i64 = long long;
using u64 = unsigned long long;
using f80 = long double;
using vi32 = vector<i32>;
using vi64 = vector<i64>;
using vu64 = vector<u64>;
using vf80 = vector<f80>;
using vstr = vector<string>;

inline void yes() { cout << "Yes" << '\n'; exit(0); }
inline void no() { cout << "No" << '\n'; exit(0); }
inline i64 gcd(i64 a, i64 b) { if (min(a, b) == 0) return max(a, b); if (a % b == 0) return b; return gcd(b, a % b); }
inline i64 lcm(i64 a, i64 b) { return a / gcd(a, b) * b; }
inline u64 xorshift() { static u64 x = 88172645463325252ull; x = x ^ (x << 7); return x = x ^ (x >> 9); }
void solve(); int main() { ios::sync_with_stdio(0); cin.tie(0); cout << fixed << setprecision(16); solve(); return 0; }
template <typename T> class pqasc : public priority_queue<T, vector<T>, greater<T>> {};
template <typename T> class pqdesc : public priority_queue<T, vector<T>, less<T>> {};
template <typename T> inline void amax(T &x, T y) { if (x < y) x = y; }
template <typename T> inline void amin(T &x, T y) { if (x > y) x = y; }
template <typename T> inline T power(T x, i64 n, T e = 1) { T r = e; while (n > 0) { if (n & 1) r *= x; x *= x; n >>= 1; } return r; }
template <typename T> istream& operator>>(istream &is, vector<T> &v) { each(x, v) is >> x; return is; }
template <typename T> ostream& operator<<(ostream &os, vector<T> &v) { rep(i, v.size()) { if (i) os << ' '; os << v[i]; } return os; }
template <typename T, typename S> istream& operator>>(istream &is, pair<T, S> &p) { is >> p.first >> p.second; return is; }
template <typename T, typename S> ostream& operator<<(ostream &os, pair<T, S> &p) { os << p.first << ' ' << p.second; return os; }

void solve() {
  while (true) {
    vi32 l(10);
    char c;
    rep(i, 10) if (!(cin >> l[i] >> c)) return;
    int v1, v2;
    cin >> v1 >> c >> v2;
    int L = accumulate(all(l), 0);
    f80 t = (f80) L / (v1 + v2);
    f80 x = t * v1;
    int sum = 0;
    rep(i, 10) {
      if (x <= sum + l[i]) {
        cout << i + 1 << '\n';
        break;
      }
      sum += l[i];
    }
  }
}

C++: #include<cstdio>

using namespace std;

int main(void){
	int ku[10],i,ans=0;
	float v1,v2,zen=0,hit;

	while((scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f,",&ku[0],&ku[1],&ku[2],&ku[3],&ku[4],&ku[5],&ku[6],&ku[7],&ku[8],&ku[9],&v1,&v2))!=EOF){
			for(i=0;i<10;i++)	zen+=ku[i];
			hit=(zen*v1)/(v1+v2);
			for(i=0;i<10;i++){
				if(ans>=hit)	break;
				ans+=ku[i];
			}

			printf("%d\n",ans);
			zen=0;
			ans=0;
	}

	return 0;
}

C++: #include<cstdio>

int main(){
	
	double l[10],v[2];
	while(scanf("%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf",&l[0],&l[1],&l[2],&l[3],&l[4],&l[5],&l[6],&l[7],&l[8],&l[9],&v[0],&v[1]) != EOF){
		int ans=1;
		double v_sum=v[0]+v[1];
		double l_sum=0;
		for(int i=0;i<10;i++)l_sum+=l[i];
		double s=l_sum/v_sum;
		double hit=v[0]*s;
		l_sum=0;
		for(int i=0;i<10;i++){
			l_sum+=l[i];
			if(l_sum>=hit)break;
			ans++;
		}
		printf("%d\n",ans);
	}
}

C++: #include<cstdio>
int main(){
  int a[10],v1,v2;
  while(scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
	      &a[0],&a[1],&a[2],&a[3],&a[4],
	      &a[5],&a[6],&a[7],&a[8],&a[9],
	      &v1,&v2)>0){
    for(int i=1;i<10;i++) a[i]+=a[i-1];
    for(int i=0;i<10;i++){
      if(a[9]*v1<=a[i]*(v1+v2)){
	printf("%d\n",i+1);
	break;
      }
    }
  }
}

C++: #include <iostream>
#include <cstdio>
using namespace std;

int main()
{
     int num[10], v1, v2;
     while (scanf("%d,", &num[0]) != EOF) {
          for (int i = 1; i < 10; i++) scanf("%d,", &num[i]);
          scanf("%d,%d", &v1, &v2);

          int sum = 0;
          for (int i = 0; i < 10; i++) sum += num[i];
          double dis;
          dis = (double)sum / (double)(v1 + v2);
          dis *= (double)v1;
          sum = 0;
          int i = 0;
          do {
               sum += num[i];
               i++;
          }while(sum < dis);
          cout << i << endl;
     }

     return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
    int L;
    int l[10];
    int v1, v2;
    int st, la;
    double pass;
    double time;
    char comma;
    while(cin >> l[0]){
        for(int i=1;i<10;i++){
            cin >> comma >> L;
            l[i] = L + l[i-1];
        }
        cin >> comma >> v1 >> comma >> v2;
        time = l[9] / (double)(v1+v2);
        pass = time * v1;
        for(int i=0;i<10;i++){
            if(pass <= l[i]){
                cout << i+1 << endl;
                break;
            }
        }
    }
}

C++: //0034
//include-------------------------------------
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<cmath>
#include<map>
#include<stack>

using namespace std;

//typedef--------------------------------------
typedef vector<int> VI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long LL;

#define MP make_pair

//repetition-----------------------------------
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)

//constant-------------------------------------
const double PI = acos(-1.0);

//cout,cin-------------------------------------
#define COUT(x) cout<<(x)<<endl
#define CIN(x) cin>>(x)

int main(){

	int l[10], v1, v2;
	

	while (1){
		int L = 0;
		int ans = 0;
		int sum = 0;
		double x, k;
		char a;

		
		REP(i, 10) {
			cin >> l[i] >> a; L += l[i];
		}
		cin >> v1 >> a >> v2;

		k = v1*1.0 / v2;
		x = 1.0*L*k / (1 + k);

		while (sum < x){
			sum += l[ans++];
		}

		COUT(ans);
	}

	return 0;

}