喝咖啡

 

 

 

 

 

 

 

#include <iostream>
#include <vector>
using namespace std;

int find(int index, int k)
{
 int cur_res = 0;
 while ((k+1)*cur_res < index)
  cur_res++;
 return cur_res;
}
int main()
{
 int T;
 cin >> T;
 for (int i = 0; i < T; i++)
 {
  int res = 0;
  int k, m;
  cin >> k >> m;
  vector<int> num(30, -1);
  for (int j = 0; j < m; j++)
  {
   int temp; 
   cin >> temp;
   num[temp-1] = 1;
   res++;

   int n = 0;
   while (n<=k)
   {
    if (temp -1 - n >= 0 && num[temp-1 - n] == -1)
     num[temp -1 - n] = 0;
    if (temp -1 + n <= 29 && num[temp-1 + n] == -1)
     num[temp -1 + n] = 0;
    n++;
   }
  }

  int n = 0;
  while (n < 30)
  {
   int index = 0;
   while (n<30 && num[n] == -1)
   {
    index++;
    n++;
   }

   int cur_res = find(index, k);
   res += cur_res;

   while (n < 30 && num[n] != -1)
    n++;
  }

  cout << res << endl;
 }

 system("pause");
 return 0;
}

  

posted @ 2019-09-08 20:31  高颖1995  阅读(138)  评论(0编辑  收藏  举报