Buggy python submission (verdict: Time Limit Exceeded):
text = input()
result=[0]*len(text)
letter=[]
for i in range(1,len(text)):
  if(text[i]!=text[i-1]):
    letter=letter+[i]
letter=letter+[len(text)]

##端の処理
if(text[0]=="L"):
  result[0]=letter[0]

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

#はじめの文字がLのとき
if(text[0]=="L"):
  i=1
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
else:
  n=letter[0]
  m=letter[1]-letter[0]
  if((n+m)%2==0):
    result[letter[0]-1]=(n+m)//2
    result[letter[0]]=(n+m)//2
  elif(n%2==1):
    result[letter[0]-1]=(n+m+1)//2
    result[letter[0]]=(n+m-1)//2   
  else:
    result[letter[0]-1]=(n+m-1)//2
    result[letter[0]]=(n+m+1)//2 
  i=2
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
    
    
###端の処理
if(text[-1]=="R"):
  result[-1]=letter[-1]-letter[-2]
  
print(' '.join(map(str, result)))



Fixed submission:
text = input()
result=[0]*len(text)
N=len(text)

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

s=0
i=0
j=0
while j<N :
  while text[i]=="R" :
    i+=1
  j=i+1
  while (j<N and text[j]=="L") :
    j+=1
  if (j-s)%2==0:
    result[i-1]=(j-s)//2
    result[i]=(j-s)//2
  else:
    result[i-1]=(j-s-1)//2
    result[i]=(j-s-1)//2
    result[i-(s-i)%2]+=1
  s=j
  i=s+1

print(' '.join(map(str, result)))

Buggy python submission (verdict: Time Limit Exceeded):
text = input()
result=[0]*len(text)
letter=[]
for i in range(1,len(text)):
  if(text[i]!=text[i-1]):
    letter=letter+[i]
letter=letter+[len(text)]

##端の処理
if(text[0]=="L"):
  result[0]=letter[0]

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

#はじめの文字がLのとき
if(text[0]=="L"):
  i=1
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
else:
  n=letter[0]
  m=letter[1]-letter[0]
  if((n+m)%2==0):
    result[letter[0]-1]=(n+m)//2
    result[letter[0]]=(n+m)//2
  elif(n%2==1):
    result[letter[0]-1]=(n+m+1)//2
    result[letter[0]]=(n+m-1)//2   
  else:
    result[letter[0]-1]=(n+m-1)//2
    result[letter[0]]=(n+m+1)//2 
  i=2
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
    
    
###端の処理
if(text[-1]=="R"):
  result[-1]=letter[-1]-letter[-2]
  
print(' '.join(map(str, result)))



Fixed submission:
text = input()
result=[0]*len(text)
N=len(text)

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

s=0
i=0
j=0
while j<N :
  while text[i]=="R" :
    i+=1
  j=i+1
  while (j<N and text[j]=="L") :
    j+=1
  if (j-s)%2==0:
    result[i-1]=(j-s)//2
    result[i]=(j-s)//2
  else:
    result[i-1]=(j-s-1)//2
    result[i]=(j-s-1)//2
    result[i-(s-i)%2]+=1
  s=j
  i=s+1

print(' '.join(map(str, result)))

Buggy python submission (verdict: Time Limit Exceeded):
text = input()
result=[0]*len(text)
letter=[]
for i in range(1,len(text)):
  if(text[i]!=text[i-1]):
    letter=letter+[i]
letter=letter+[len(text)]

##端の処理
i=0
while(text[i]=="L"):
  i=i+1
result[0]=i
i=0
while(text[-i-1]=="R"):
  i=i+1
result[-1]=i


####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

#はじめの文字がLのとき
if(text[0]=="L"):
  i=1
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
else:
  n=letter[0]
  m=letter[1]-letter[0]
  if((n+m)%2==0):
    result[letter[0]-1]=(n+m)//2
    result[letter[0]]=(n+m)//2
  elif(n%2==1):
    result[letter[0]-1]=(n+m+1)//2
    result[letter[0]]=(n+m-1)//2   
  else:
    result[letter[0]-1]=(n+m-1)//2
    result[letter[0]]=(n+m+1)//2 
  i=2
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
print(' '.join(map(str, result)))

Fixed submission:
text = input()
result=[0]*len(text)
N=len(text)

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

s=0
i=0
j=0
while j<N :
  while text[i]=="R" :
    i+=1
  j=i+1
  while (j<N and text[j]=="L") :
    j+=1
  if (j-s)%2==0:
    result[i-1]=(j-s)//2
    result[i]=(j-s)//2
  else:
    result[i-1]=(j-s-1)//2
    result[i]=(j-s-1)//2
    result[i-(s-i)%2]+=1
  s=j
  i=s+1

print(' '.join(map(str, result)))

Buggy python submission (verdict: Time Limit Exceeded):
text = input()
lst = list(text)
result=[0]*len(lst)
letter=[]
for i in range(1,len(lst)):
  if(lst[i]!=lst[i-1]):
    letter=letter+[i]
letter=letter+[len(lst)]

##端の処理
i=0
while(lst[i]=="L"):
  i=i+1
result[0]=i
i=0
while(lst[-i-1]=="R"):
  i=i+1
result[-1]=i


####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

#はじめの文字がLのとき
if(lst[0]=="L"):
  i=1
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
else:
  n=letter[0]
  m=letter[1]-letter[0]
  if((n+m)%2==0):
    result[letter[0]-1]=(n+m)//2
    result[letter[0]]=(n+m)//2
  elif(n%2==1):
    result[letter[0]-1]=(n+m+1)//2
    result[letter[0]]=(n+m-1)//2   
  else:
    result[letter[0]-1]=(n+m-1)//2
    result[letter[0]]=(n+m+1)//2 
  i=2
  while(i+1<len(letter)):
    n=letter[i]-letter[i-1]
    m=letter[i+1]-letter[i]
    if((n+m)%2==0):
      result[letter[i]-1]=(n+m)//2
      result[letter[i]]=(n+m)//2
    elif(n%2==1):
      result[letter[i]-1]=(n+m+1)//2
      result[letter[i]]=(n+m-1)//2   
    else:
      result[letter[i]-1]=(n+m-1)//2
      result[letter[i]]=(n+m+1)//2
    i=i+2
print(' '.join(map(str, result)))



Fixed submission:
text = input()
result=[0]*len(text)
N=len(text)

####RRR...(n個)...RL...(m個)...Lのとき
####n+mが偶数なら(n+m)/2個ずつ
####奇数ならnが奇数のときRに(n+m+1)/2,Lに(n+m-1)/2
####nが偶数のときRに(n+m-1)/2,Lに(n+m+1)/2たまる

s=0
i=0
j=0
while j<N :
  while text[i]=="R" :
    i+=1
  j=i+1
  while (j<N and text[j]=="L") :
    j+=1
  if (j-s)%2==0:
    result[i-1]=(j-s)//2
    result[i]=(j-s)//2
  else:
    result[i-1]=(j-s-1)//2
    result[i]=(j-s-1)//2
    result[i-(s-i)%2]+=1
  s=j
  i=s+1

print(' '.join(map(str, result)))