Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MAXN = 100005;long long dp[(1 << 16) | 1];long long s[17][17];int a[MAXN];long long sum[17];int id[17];int main(){int T;scanf("%d", &T);for (int t = 1; t <= T; t ++){memset(sum, 0, sizeof(sum));memset(s, 0, sizeof(s));int n, K;scanf("%d%d", &n, &K);for (int i = 0; i < n; i ++){scanf("%d", &a[i]); a[i] --;}for (int i = n-1; i >= 0; i --){for (int j = 0; j < K; j ++)s[a[i]][j] += sum[j];sum[a[i]] ++;