蒟蒻的代码
#include <bits/stdc++.h>
#pragma GCC optimize(3,"Ofast")
#define int long long
using namespace std;
const int K = 1e3 + 10;
const int L = 1e4 + 10;
const int M = 1e5 + 10;
const int N = 1e6 + 10;
int t, n, k, ans;
int a[2 * M];
map<int, bool> Map;
signed main() {
ios::sync_with_stdio (false);
cin.tie (0);
cout.tie (0);
cin >> t;
while (t--) {
Map.clear();
cin >> n >> k;
for (int i = 1; i <= n; i++) {
cin >> a[i];
for (int j = 2; j * j <= a[i]; j++)
while (a[i] % (j * j) == 0)
a[i] /= j * j;
}
ans = 0;
for (int i = 1; i <= n; i++) {
if(Map[a[i]]) ans++, Map.clear();
Map[a[i]] = 1;
}
cout << ans + 1 << '\n';
}
return 0;
}