for s in[*open(0)][2::2]:
a=s.split();r=[[0,0]for j in a];i=0
for x in a:x=int(x)-1;r[x][i&1]=r[x][~i&1]+1;i+=1
print(*map(max,r))
/* Two Roads Diverged in a Wood, and I Took the One Less Travelled by,and That Has Made all the Difference */
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define TB \
ios_base ::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
#define endl '\n'
#define ll long long
#define pb push_back
int main()
{
TB;
int tc;
cin >> tc;
while (tc--)
{
int n,i;
cin >> n;
list<int> lst[n + 1];
for (i = 1; i <= n; i++)
{
int x;
cin >> x;
lst[x].pb(i);
}
for (i = 1; i <= n; i++)
{
if (lst[i].size() > 0)
{
int cnt = 1;
int mx = 0;
int check = lst[i].front();
lst[i].pop_front();
while (!lst[i].empty())
{
int cc = lst[i].front() - check-1;
if (cc%2==0)
cnt++;
/*else if(cc>3)
{
mx = max(mx, cnt);
cnt = 1;
}*/
check = lst[i].front();
lst[i].pop_front();
}
mx = max(mx, cnt);
cout << mx << " ";
}
else
cout << 0 << " ";
}
cout << endl;
}
}
1032A - Kitchen Utensils | 1501B - Napoleon Cake |
1584B - Coloring Rectangles | 1562B - Scenes From a Memory |
1521A - Nastia and Nearly Good Numbers | 208. Implement Trie |
1605B - Reverse Sort | 1607C - Minimum Extraction |
1604B - XOR Specia-LIS-t | 1606B - Update Files |
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |