Advertisement
Majzer

Untitled

Oct 17th, 2019
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. // TÚL SOKSZOR FUT LE A REKURZÍV FÜGGVÉNY, NEM JÓ
  8.  
  9. template<typename Iter>
  10. int maxKorong(Iter k, size_t n, int balPont, int jobbPont, int korszam) {
  11.     //for(int i = 0; i < n; i++) {
  12.         //cout << k[i] << " ";
  13.     //}
  14.     //cout << jobbPont << " " << korszam << endl;
  15.         int balPontS = balPont, jobbPontS = jobbPont;
  16.     if(korszam%2==0) {
  17.         if (n == 1) return k[0] == 1 ? max(++balPont, ++jobbPont) : max(balPont, jobbPont);
  18.         if(k[0] == 1) balPontS++;
  19.         if(k[n-1] == 1) jobbPontS++;
  20.     } else if (n==1) return max(balPont, jobbPont);
  21.     int subArrayLeft[n-1]; int subArrayRight[n-1];
  22.     for(int i = 0; i <= n - 1; i++) {
  23.         if(i==0) subArrayLeft[0] = k[0];
  24.         else if(i==n-1) subArrayRight[i-1] = k[i];
  25.         else {
  26.             subArrayLeft[i] = k[i];
  27.             subArrayRight[i-1] = k[i];
  28.         }
  29.     }
  30.     ++korszam;
  31.     return max(maxKorong(k, n-1, balPont, jobbPontS, korszam), maxKorong(k+1, n-1, balPontS, jobbPont, korszam));
  32. }
  33.  
  34. int main()
  35. {
  36.     int n;
  37.     cin >> n;
  38.     int korongok[n];
  39.     for(int i = 0; i < n; i++) {
  40.         cin >> korongok[i];
  41.     }
  42.     cout << maxKorong(korongok, n, 0, 0, 0);
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement