/* # - - SCRIPT INFO - - # # - - AUTHOR INFO & LICENSE - - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # | SCRIPT_TYPE: X#ALGORITHM | # # | AUTHOR_INFO: Marek 'Xememah' Kochanowski | # # | SCRIPT_INFO: X#ALGORITHM | # # | AUTHOR_WEB: xememah.com | # # | SCRIPT_RELEASE: XX.XX.XX F | # # | AUTHOR_EMAIL: xememah@gmail.com | # # | | mm.dd.yy [V]| # # | OTHER:[TWITTER: @xememah | FB: /xememah]: | # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # | V:[A=ALPHA|B=BETA|F=FULL]: | # # | LICENSE: DO NOT SHARE | # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # */ #include <iostream> #include <vector> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef short int si; int dokk(int m, int mw, int Varsum, int Finalsum = 0) { //cout << "Cykl: " << m << "; Wygrana na cykl: " << mw << endl; //cout << "Suma kieszonkowego: " << Varsum << endl; int r = Varsum%m; int c = Varsum/m*mw; //cout << "Calkowite: " << c << " (" << c*mw << "); " << "Reszta: " << r << endl; //cout << "2. Suma kieszonkowego: " << c+r << endl << endl; Finalsum += Varsum; if(c == Varsum) { return -1; } else { if(c+r >= m) dokk(m, mw, c+r, Finalsum); else return Finalsum; } } int main() { cout.sync_with_stdio(0); ios_base::sync_with_stdio(0); int n, m, Var, Varsum = 0, mw = 0; char stVar; cin >> n; for(int i = 0; i < n; i++) { cin >> Var; Varsum += Var; } cin >> m; vector <char> st; for(int i = 0; i < m; i++) { cin >> stVar; if(stVar == 'W') mw++; st.push_back(stVar); } cout << dokk(m, mw, Varsum); 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 | /* # - - SCRIPT INFO - - # # - - AUTHOR INFO & LICENSE - - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # | SCRIPT_TYPE: X#ALGORITHM | # # | AUTHOR_INFO: Marek 'Xememah' Kochanowski | # # | SCRIPT_INFO: X#ALGORITHM | # # | AUTHOR_WEB: xememah.com | # # | SCRIPT_RELEASE: XX.XX.XX F | # # | AUTHOR_EMAIL: xememah@gmail.com | # # | | mm.dd.yy [V]| # # | OTHER:[TWITTER: @xememah | FB: /xememah]: | # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # | V:[A=ALPHA|B=BETA|F=FULL]: | # # | LICENSE: DO NOT SHARE | # # + - - - - - - - - - - - - - - + # # + - - - - - - - - - - - - - - - - - - - - - - + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # */ #include <iostream> #include <vector> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef short int si; int dokk(int m, int mw, int Varsum, int Finalsum = 0) { //cout << "Cykl: " << m << "; Wygrana na cykl: " << mw << endl; //cout << "Suma kieszonkowego: " << Varsum << endl; int r = Varsum%m; int c = Varsum/m*mw; //cout << "Calkowite: " << c << " (" << c*mw << "); " << "Reszta: " << r << endl; //cout << "2. Suma kieszonkowego: " << c+r << endl << endl; Finalsum += Varsum; if(c == Varsum) { return -1; } else { if(c+r >= m) dokk(m, mw, c+r, Finalsum); else return Finalsum; } } int main() { cout.sync_with_stdio(0); ios_base::sync_with_stdio(0); int n, m, Var, Varsum = 0, mw = 0; char stVar; cin >> n; for(int i = 0; i < n; i++) { cin >> Var; Varsum += Var; } cin >> m; vector <char> st; for(int i = 0; i < m; i++) { cin >> stVar; if(stVar == 'W') mw++; st.push_back(stVar); } cout << dokk(m, mw, Varsum); return 0; } |