Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <cmath>#include <algorithm>using namespace std;typedef long long LL;const int MAXN=100005;const int MAXK=18;const int MAXS=(1<<16)+20;const LL INF=10000000000LL;int n,K,a[MAXN],s[MAXN][MAXK],c[MAXK][MAXK];LL f[MAXS],g[MAXK][MAXS];int get(){int f=0,v=0; char ch;while (!isdigit(ch=getchar()))if (ch=='-')break;if (ch=='-')f=1; else v=ch-48;while (isdigit(ch=getchar()))v=v*10+ch-48;if (f==1)return -v ;return v;}int main(){int T=get();for(int test=1;test<=T;test++){