// UVa 11572 - Unique Snowflakes
#include <stdio.h>
#include <map>
using namespace std;
map<int, int> last;
int main() {
int t;
for (scanf("%d", &t); t; t--) {
int n;
scanf("%d", &n);
int start = 1, sol = 0;
last.clear();
for (int i = 1; i <= n; i++) {
int a;
scanf("%d", &a);
if (last[a] >= start) {
if (i - start > sol)
sol = i - start;
start = last[a] + 1;
}
last[a] = i;
}
if (n + 1 - start > sol)
sol = n + 1 - start;
printf("%d\n", sol);
}
return 0;
}
No comments:
Post a Comment