SHARE
TWEET

Untitled

a guest Jun 20th, 2019 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. static int F1 (int k, int n)
  2.        {
  3.            int sum = 0;
  4.            int[] sum2 = new int[100];
  5.            int max = 0;
  6.            int min = int.MaxValue;
  7.  
  8.            if (n == 0) return 0;
  9.            else if (k == 1)
  10.            {
  11.                for (int i = 0; i < n; i++)
  12.                    sum += p[i];
  13.                return sum;
  14.            }
  15.            else
  16.            {
  17.                for (int l = 1; l < n; l++)
  18.                {
  19.                    for (int i = l; i < n; i++)
  20.                        sum2[l] += p[i];
  21.  
  22.                    max = Math.Max(sum2[l], F1(k - 1, n - 1));
  23.                    if (max < min) min = max;
  24.                }
  25.                return min;
  26.            }
  27.  
  28.        }
  29.      
  30. public static int F1Par(int k, int n)
  31.         {
  32.             int sum = 0;
  33.             int[] sum2 = new int[100];
  34.             int max = 0;
  35.             int min = int.MaxValue;
  36.  
  37.             int countCPU = 1;
  38.             Task<int>[] tasks = new Task<int>[countCPU];
  39.  
  40.             for (var j = 0; j < countCPU; j++)
  41.                 tasks[j] = Task.Factory.StartNew(
  42.                     (object b) =>
  43.                     {
  44.                         if (n == 0) return 0;
  45.                         else if (k == 1)
  46.                         {
  47.                             for (int i = 0; i < n; i++)
  48.                                 sum += p[i];
  49.                             return sum;
  50.                         }
  51.                         else
  52.                         {
  53.                             for (int l = 1; l < n; l++)
  54.                             {
  55.                                 for (int i = l; i < n; i++)
  56.                                     sum2[l] += p[i];
  57.  
  58.                                 max = Math.Max(sum2[l], F1(k - 1, n - 1));
  59.                                 if (max < min) min = max;
  60.                             }
  61.                             return min;
  62.                         }
  63.  
  64.                     },j);
  65.             int total = 0;
  66.             for (var i = 0; i < countCPU; i++) total += tasks[i].Result;
  67.             return total;
  68.  
  69.       }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top