AOJ 0034 - Railway Lines

#include <cstdio>
int main(){
	int l[10];
	float v1, v2;
	while(~scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%f,%f",l,l+1,l+2,l+3,l+4,l+5,l+6,l+7,l+8,l+9,&v1,&v2)){

	float distance = 0, goal;
	for(int i=0;i<10;i++)distance+=l[i];
	goal = distance * v1 / (v1+v2);
	
	int a = 0, res;
	for(int i=0;i<10;i++){
		a += l[i];
		if(goal <= a){res = i + 1;break;}
	}
	printf("%d\n", res);
	}
}

ショートコーディング

#include <cstdio>
int main(){
	float l[10], v, w;
	while(~scanf("%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f,%f",l,l+1,l+2,l+3,l+4,l+5,l+6,l+7,l+8,l+9,&v,&w)){
		int a = 0, r, d=0, i=0;
		for(;i<10;i++)d+=l[i];

		for(i=0;i<10;i++){
			a += l[i];
			if(d*v/(v+w) <= a){r = i + 1;break;}
		}
		printf("%d\n", r);
	}
}