#include <iostream> int main() { int m,n; std::cin>>n; long long int i=0; int kol[n]; while(i<n) { std::cin>>kol[i]; i++; } std::cin>>m; i=0; char zmian[m]; std::cin>>zmian; while(i<m) { if(zmian[i]=='W') zmian[i]=1; else zmian[i]=-1; i++; } i=0; int osoba=0,wygrana=0; long long int cykl=m*n; while(i<cykl) { kol[osoba]+=zmian[wygrana]; if(kol[osoba]==0) { std::cout<<i+1; return 0; } if(++wygrana==m) wygrana=0; if(++osoba==n) osoba=0; i++; } i=0; int suma=0; while(i<m) { suma+=zmian[i]; i++; } if(suma>=0) { std::cout<<-1; return 0; } i=0; while(true) { kol[osoba]+=zmian[wygrana]; if(kol[osoba]==0) { std::cout<<i+1; return 0; } if(++wygrana==m) wygrana=0; if(++osoba==n) osoba=0; i++; } 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 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 58 59 60 61 62 63 64 65 66 67 68 69 70 | #include <iostream> int main() { int m,n; std::cin>>n; long long int i=0; int kol[n]; while(i<n) { std::cin>>kol[i]; i++; } std::cin>>m; i=0; char zmian[m]; std::cin>>zmian; while(i<m) { if(zmian[i]=='W') zmian[i]=1; else zmian[i]=-1; i++; } i=0; int osoba=0,wygrana=0; long long int cykl=m*n; while(i<cykl) { kol[osoba]+=zmian[wygrana]; if(kol[osoba]==0) { std::cout<<i+1; return 0; } if(++wygrana==m) wygrana=0; if(++osoba==n) osoba=0; i++; } i=0; int suma=0; while(i<m) { suma+=zmian[i]; i++; } if(suma>=0) { std::cout<<-1; return 0; } i=0; while(true) { kol[osoba]+=zmian[wygrana]; if(kol[osoba]==0) { std::cout<<i+1; return 0; } if(++wygrana==m) wygrana=0; if(++osoba==n) osoba=0; i++; } return 0; } |