#include <iostream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(0); int n; cin>>n; vector<int>kolejka; int sumy; for(int i=0; i<n; i++) { cin>>sumy; kolejka.push_back(sumy); } int m; cin>>m; char znaki[m]; int suma_W = 0; int suma_P = 0; for(int i=0; i<m; i++) { cin>>znaki[i]; if(znaki[i]=='W')suma_W++; else suma_P ++; } if(suma_W>suma_P) cout<<-1; else { int i = 0; int licznik = 0; int wsk = 0; while(kolejka[0]!=0) { int wzor; if(wsk>=m) wsk=0; if(znaki[wsk]=='W')kolejka[0]++; else kolejka[0]--; wzor=kolejka[0]; vector<int>::iterator it=kolejka.begin(); kolejka.erase(it); kolejka.push_back(wzor); licznik++; wsk++; } cout<<licznik-wsk; } }
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 | #include <iostream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(0); int n; cin>>n; vector<int>kolejka; int sumy; for(int i=0; i<n; i++) { cin>>sumy; kolejka.push_back(sumy); } int m; cin>>m; char znaki[m]; int suma_W = 0; int suma_P = 0; for(int i=0; i<m; i++) { cin>>znaki[i]; if(znaki[i]=='W')suma_W++; else suma_P ++; } if(suma_W>suma_P) cout<<-1; else { int i = 0; int licznik = 0; int wsk = 0; while(kolejka[0]!=0) { int wzor; if(wsk>=m) wsk=0; if(znaki[wsk]=='W')kolejka[0]++; else kolejka[0]--; wzor=kolejka[0]; vector<int>::iterator it=kolejka.begin(); kolejka.erase(it); kolejka.push_back(wzor); licznik++; wsk++; } cout<<licznik-wsk; } } |