这是代码
#include <bits/stdc++.h>
using namespace std;
const int N=1e5;
int a[N+5];
map <int, bool> m;
int main (){
int n, m;
scanf ("%d %d", &n, &m);
for (int i=1; i<=n; i++){
scanf ("%d", &a[i]);
m[a[i]]=false;
}
int sum=0, ans=0, i=1;
while (m){
if (m[i]){
sum+=i, ans++;
m-=i;
}
i++;
}
printf ("%d\n", ans);
}
这是编译错误的信息:
/tmp/compiler_m7rvu1nj/src: 在函数‘int main()’中:
/tmp/compiler_m7rvu1nj/src:12:18: 错误:‘int[int]’用作数组下标类型无效
12 | m[a[i]]=false;
| ^
/tmp/compiler_m7rvu1nj/src:16:22: 错误:‘int[int]’用作数组下标类型无效
16 | if (m[i]){
| ^
求问为什么回CE