MSBOP 2015 Round3 register

Ended

Participants:978

Verdict:AC | AC
Submitted:2015-05-09 15:48:54

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <string.h>
typedef long long ll;
int t,n,K,a[100005];
ll sum[20][20];
ll dp[(1<<16)+5];
int num[20];
int main(){
    scanf("%d",&t);
    for(int ca=1;ca<=t;ca++){
        scanf("%d%d",&n,&K);
        for(int i=1;i<=n;i++) scanf("%d",&a[i]);
        memset(num,0,sizeof num);
        memset(sum,0,sizeof sum);
        for(int i=1;i<=n;i++){
            num[a[i]]++;
            for(int j=1;j<=K;j++) if(j!=a[i]){
                sum[j][a[i]]+=num[j];
            }
        }
        /*
        for(int i=1;i<=K;i++){
            for(int j=1;j<=K;j++) if(i!=j){
                ll s1=0,s2=0;
                for(int k=1;k<=n;k++){
                    if(a[k]==i) s1++;
                    if(a[k]==j) s2+=s1;
                }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX