#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