Algorithm
Problem Name: 2 AD-HOC - beecrowd | 1136
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/1136 
Bingo!
by Ines Kereki   Uruguay
 Uruguay
Timelimit: 2
Input
Output
For each test case, print a single line containing a single uppercase ‘Y’ if it is possible to call out every number from 0 to N, inclusive, or a single uppercase ‘N’ otherwise.
| Input Sample | Output Sample | 
| 6 7 | Y | 
Code Examples
#1 Code Example with C Programming
Code -
                                                        C Programming
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 100009
int c[MAXSIZE];
int v[MAXSIZE];
int main(int argc, char **argv)
{
    int n, b;
    while (scanf("%d %d", &n, &b), n)
    {
        for (size_t i = 0; i  <  b; ++i)
        {
            scanf("%d", &v[i]);
            for (size_t j = 0; j  < = i; ++j)
                c[abs(v[i] - v[j])] = 1;
        }
        size_t i = 0;
        for (; i  < = n; ++i)
            if (!c[i])
                break;
        printf("%c\n", (i - 1UL) != n ? 'N' : 'Y');
        memset(c, 0, sizeof(int) * (n + 1));
    }
    return 0;
}
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N
#2 Code Example with C++ Programming
Code -
                                                        C++ Programming
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,b;
	while(cin >> n >> b && n)
	{
		vector < bool> a(n+1);
		int count = n+1;
		std::fill(a.begin(),a.end(),false);
		vector<int> c(b);
		for(int i = 0; i  < b; i++)
		{
			cin >> c[i];
			a[c[i]] = true;
			count--;
		}
		int abss;
		for(int i = 0; i  <  b-1; i++)
		{
			for(int j = i+1; j  <  b; j++)
			{
				abss = abs(c[i]-c[j]);
				if(a[abss] == false)
				{
					a[abss]=true;
					count--;
				}
			}
		}
		if(count != 0)
		  cout << "N\n";
		else
		  cout << "Y\n";
	}
}
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N
#3 Code Example with Python Programming
Code -
                                                        Python Programming
while True:
   n, b = [int(x) for x in input().split()]
   if n == b == 0: break
   p = [int(x) for x in input().split()]
   a = list(set([abs(a-b) for a in p for b in p]))
   b = [x for x in range(0, n+1)]
   print('Y' if a == b else 'N')
Input
2 1 3 4 0 6 5
5 4
5 3 0 1
5 3
1 5 0
0 0
Output
Y
N
