首页 > 其他 > 详细

UVA - 11572 Unique Snowflakes

时间:2016-10-23 20:45:35      阅读:248      评论:0      收藏:0      [点我收藏+]
/*
STLsort离散化==T
手工sort离散化==T
map在线==T
map离线处理c==A 240ms 
*/
#include<cstdio>
#include<map>
#define maxn 1000010
using 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

原文:http://www.cnblogs.com/yanlifneg/p/5990635.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!