1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include<iostream>

using namespace std;

int main()
{
   int l,l1;
   cin>>l;
   l1=l;
   int *tab=new int[l];
   for(int i=0;i<l;i++)
   {
       tab[i]=0;
       int s=0;
       cin>>s;
       tab[i]=s;
   }
   int g,g1;

   cin>>g;
   g1=g;
   string slowo;
   cin>>slowo;
   long long iloczyn =l*g;
   while(l!=g)
   {
       if(l>g) l-=g;
       else g-=l;
   }




   int k=0;
   int s=0;
   int i=0;
   for( i=0;i<(iloczyn/g);i++)
   {
      if(slowo[s]=='W') tab[k]=tab[k]+1;
      else tab[k]=tab[k]-1;
      //cout<<tab[k]<<endl;
      if(tab[k]==0)
      {
          cout<<i+1<<endl;
          break;
      }
      k++;
      s++;

      if(k>=l1) k=0;
      if(s>=g1) s=0;
      ///cout<<s<<endl;
   }
   if(i==(iloczyn/g)) cout<<"-1"<<endl;

   return 0;
}