#include<iostream>
#include<stdio.h>
#include<string.h>
#include<string>
#include<stdlib.h>
int flag[1000100];
using namespace std;
inline int parser(string a){
return atoi(a.c_str());
}
int main(int argc, char *argv[])
{
int N;
int ans;
while(~scanf("%d",&N))
{
ans=0;
memset(flag,0,sizeof(flag));
for(int i=0;i<N;++i){
string t;
cin>>t;
if(t.size()>6)ans++;
else{
int tm=parser(t);
if(tm<=0)ans++;
else if(tm>N)ans++;
else {
if(flag[tm]==0)
flag[tm]=1;
else
ans++;
}
}
}
printf("%d\n",ans);
}
return 0;
}
第二组数据也是最耗时的数据,680MS耗在了上面,勉强AC
原文地址:http://blog.csdn.net/wdkirchhoff/article/details/41899369