样例是往往是骗人的,本题中
30%的数据,0<n≤5000。
20%的数据,-20000≤W≤20000。
60%的数据,0<n≤50000。
100%的数据,0<n≤500000;-2000000000≤W≤2000000000。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,i,j;
struct data
{
int num,x;
};data a[500003];
int f[500003];
int cmp(data a,data b)
{
return a.x<b.x||a.x==b.x&&a.num<b.num;
}
int main()
{
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&a[i].x);
a[i].num=i;
}
sort(a+1,a+n+1,cmp);
for (i=1;i<=n;i++)
if (a[i].x==a[i-1].x)
f[a[i].num]=1;
for (i=1;i<=n;i++)
printf("%d",f[i]);
return 0;
}