首页 > 代码库 > UVA - 11572 Unique Snowflakes
UVA - 11572 Unique Snowflakes
/*STLsort离散化==T手工sort离散化==Tmap在线==Tmap离线处理c==A 240ms */#include<cstdio>#include<map>#define maxn 1000010using namespace std;int T,n,c[maxn],a[maxn],ans,s,t,num;map<int,int>p;int init(){ int x=0,f=1;char s=getchar(); while(s<‘0‘||s>‘9‘){if(s==‘-‘)f=-1;s=getchar();} while(s>=‘0‘&&s<=‘9‘){x=x*10+s-‘0‘;s=getchar();} return x*f;}int main(){ T=init(); while(T--){ n=init();s=1;ans=num=0;p.clear(); for(int i=1;i<=n;i++){ a[i]=init(); if(p[a[i]]==0){ p[a[i]]=i;c[i]=0; } else { c[i]=p[a[i]];p[a[i]]=i; } } while(1){ for(t=s;t<=n;t++){ if(c[t]>=s){ s=c[t]+1;c[t]=0;break; } ans=max(ans,t-s+1); } if(t>=n)break; } printf("%d\n",ans); } return 0;}
UVA - 11572 Unique Snowflakes
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。