码迷,mamicode.com
首页 > 其他好文 > 详细

UVA - 11572 Unique Snowflakes

时间:2016-10-23 20:47:16      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:0ms   max   log   i++   int   ret   #include   while   color   

/*
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

标签:0ms   max   log   i++   int   ret   #include   while   color   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!