//the only snowflake uva 11572 "purple book" p239-241//1#include <cstdio>#include<Set>#include<algorithm>using namespacestd;#defineN 1000050intA[n];intMain () {intT,n; scanf ("%d",&t); while(t--) {scanf ("%d",&N); for(intI=0; i<n;i++) scanf ("%d", A +i); Set<int>s; intL=0, r=0, ans=0; while(r<N) { while(R<n&&!s.count (A[r])) S.insert (a[r++]); Ans=max (ans,r-l); S.erase (A[l++]); } printf ("%d\n", ans); } return 0;} //2#include <cstdio>#include<map>using namespacestd;#defineN 1000100intA[n],last[n];map<int,int>cur;intMain () {intT,n; scanf ("%d",&t); while(t--) {scanf ("%d",&N); Cur.clear (); for(intI=0; i<n;i++) {scanf ("%d", A +i); if(!cur.count (A[i])) last[i]=-1; Elselast[i]=Cur[a[i]]; Cur[a[i]]=i; } intL=0, r=0, ans=0; while(r<N) { while(r<n&&last[r]<l) r++; Ans=max (ans,r-M); L++; } printf ("%d\n", ans); } return 0;}
The only snowflake