Practice for Microsoft 2015 Online Test register

Ended

Participants:1406

Verdict:Accepted
Score:100 / 100
Submitted:2014-10-18 12:49:39

Lang:G++

Edit
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
#include<iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
int main()
{
  int f[105][105];
  int a[105];
  bool mark[105];
  int cases;
  cin>>cases;
  while(cases--)
  {
    int n, m;
    scanf("%d%d", &n, &m);
    for(int i = 0; i <=100; i++)
      for(int j = 0; j <= m; j++)f[i][j] = 0;
    for(int i = 0; i < n; i++)scanf("%d", &a[i]);
    for(int i = 0; i <= 100; i++)mark[i] = 0;
    for(int i = 0; i < n; i++)mark[a[i]] = 1;
    if(mark[1]) f[1][1] = 1;
    else f[1][0] = 1;
    for(int i = 2; i <= 100; i++)
    {
      if(mark[i - 1])
      {
        if(mark[i]) f[i][1] = 1;
        else f[i][0] = 1;
      }
      for(int j = 0; j <= m; j++)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX