题解
题目大意 给你1到n的数字 当已有数字凑齐1到n则输出1否则0 如3 6 1 2 2 3 1 3输出000101
使用两个数组 a记录每个数值出现的次数 b数组记录a的出现次数的出现次数 当b的值等于n的时候输出1
AC代码
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int MAXN = 1e5 + 10;
int a[MAXN], b[MAXN];
int main()
{
#ifdef LOCAL
//freopen("C:/input.txt", "r", stdin);
#endif
int m, n, x, k = 0;
cin >> m >> n;
for (int i = 0; i < n; i++)
{
scanf("%d", &x);
a[x]++; //数值出现次数
b[a[x]]++; //a的出现次数的出现次数
if (b[a[x]] == m) putchar('1');
else putchar('0');
}
putchar('\n');
return 0;
}