#include "cstdio" using namespace std; long long n,tab[1000005],m,k; char s[1000005]; int main() { scanf ("%lld", &n); for (int i=0; i<n; i++) scanf ("%lld", &tab[i]); scanf ("%lld %s", &m, s); for (int i=0; i<=1e7+2; i++) { if (s[i%m]=='W') tab[k]++; else { tab[k]--; if (tab[k]<=0) { printf ("%d\n", i+1); return 0; } } k=(k+1)%n; } printf ("-1\n"); return 0; }
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 | #include "cstdio" using namespace std; long long n,tab[1000005],m,k; char s[1000005]; int main() { scanf ("%lld", &n); for (int i=0; i<n; i++) scanf ("%lld", &tab[i]); scanf ("%lld %s", &m, s); for (int i=0; i<=1e7+2; i++) { if (s[i%m]=='W') tab[k]++; else { tab[k]--; if (tab[k]<=0) { printf ("%d\n", i+1); return 0; } } k=(k+1)%n; } printf ("-1\n"); return 0; } |