voidsolve(void){ scanf("%s%s",str[0]+1,str[1]+1); int n=strlen(str[0]+1),m=strlen(str[1]+1); int len=1; while (str[0][len]==str[1][len]&&len<=n&&len<=m) len++; if (len>1) printf("%d\n",n+m-(len-1)+1); else printf("%d\n",n+m); }
intmain(){ int t=1; scanf("%d",&t); while (t--) solve(); // cout<<(solve()?"YES":"NO")<<endl; return0; }
voidsolve(void){ cin>>n>>k; for (int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1);
int l=0; int type=0; int ans=0; for (int i=1;i<=n;i++){ if (a[i]!=a[i-1]) type++; if (a[i]-a[i-1]>1) l=i-1,type=1; while (type>k){ l++; if (a[l]!=a[l+1]) type--; } ans=max(ans,i-l); } cout<<ans<<endl; }
intmain(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int t=1; cin>>t; while (t--) solve(); // cout<<(solve()?"YES":"NO")<<endl; return0; }
voidsolve(void){ cin>>n>>m; int now=0; for (int i=1,x;i<=n;i++){ cin>>x; if (x==0) now++; else req[now][x>0].push_back(abs(x)); } for (int i=0;i<=m;i++){ sort(req[i][0].begin(),req[i][0].end()); sort(req[i][1].begin(),req[i][1].end()); } int ans=0; for (int len=1;len<=m;len++){ int x=len,y=len-x; while (x>=0){ dp[x][y]=max(x>=1?dp[x-1][y]:0,y>=1?dp[x][y-1]:0); x--; y=len-x; } x=len,y=len-x; int i=0,j=req[len][0].size()-1; while (x>=0){ while (j>=0&&req[len][0][j]>x) j--; while (i<req[len][1].size()&&req[len][1][i]<=y) i++; dp[x][y]+=(j+1)+(i); debug(x,y,dp[x][y]); if (len==m) ans=max(dp[x][y],ans); x--; y=len-x; } } cout<<ans<<endl; }
intmain(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int t=1; // cin>>t; while (t--) solve(); // cout<<(solve()?"YES":"NO")<<endl; return0; }
voidsolve(void){ cin>>n>>m; dp[0][0]=1; for (int i=1;i<=m;i++) for (int j=0;j<=i;j++){ if (j) dp[i][j]+=dp[i-1][j-1],dp[i][j]%=mod; dp[i][j]+=dp[i-1][j+1],dp[i][j]%=mod; } g[1][0]=1; for (int i=2;i<=n;i++) for (int j=0;j<=m;j++) for (int k=0;k<=j;k++) g[i][j]+=g[i-1][k]*dp[m][j-k]%mod,g[i][j]%=mod; ll ans=0; for (int k=0;k<=m;k++) ans+=dp[m][k]*g[n][k]%mod,ans%=mod; cout<<ans<<endl; }
intmain(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int t=1; // cin>>t; while (t--) solve(); // cout<<(solve()?"YES":"NO")<<endl; return0; }