#include<bits/stdc++.h>//#define LOCAL#ifdefLOCAL#include"LocalDebug.h"#endifusingnamespace std;#defineintlonglong#definepbpush_backconstint inf =0x3f3f3f3f;constlonglong llinf =(longlong)0x3f3f3f3f3f3f3f3f;constlonglong MOD =(longlong)1e9+7LL;const size_t N =(size_t)1e6+5;#defineIO\ios::sync_with_stdio(false);\std::cin.tie(0);\std::cout.tie(0)voidsolve(){
string s;
cin >> s;if(s[0]=='0'){
cout <<"0\n";return;}int ans =1;for(int i =0; i < s.size(); i++){if(s[i]=='?'){if(i ==0){
ans *=9;}else{
ans *=10;}}}
cout << ans << endl;}signedmain(){
IO;int T;
T =1;
cin >> T;while(T--){solve();}return0;}
B. Sort the Subarray
#include<bits/stdc++.h>//#define LOCAL#ifdefLOCAL#include"LocalDebug.h"#endifusingnamespace std;#defineintlonglong#definepbpush_backconstint inf =0x3f3f3f3f;constlonglong llinf =(longlong)0x3f3f3f3f3f3f3f3f;constlonglong MOD =(longlong)1e9+7LL;const size_t N =(size_t)1e6+5;#defineIO\ios::sync_with_stdio(false);\std::cin.tie(0);\std::cout.tie(0)voidsolve(){int n;
cin >> n;
vector<int>a(n);
vector<int>b(n);for(int i =0; i < n; i++){
cin >> a[i];}for(int i =0; i < n; i++){
cin >> b[i];}int l =0, r = n -1;while(a[l]== b[l]){
l++;}while(a[r]== b[r]){
r--;}while(l >0&& b[l]>= b[l -1]){
l--;}while(r < n -1&& b[r]<= b[r +1]){
r++;}
cout << l +1<<" "<< r +1<< endl;}signedmain(){
IO;int T;
T =1;
cin >> T;while(T--){solve();}return0;}
C. Tear It Apart
#include<bits/stdc++.h>//#define LOCAL#ifdefLOCAL#include"LocalDebug.h"#endifusingnamespace std;#defineintlonglong#definepbpush_backconstint inf =0x3f3f3f3f;constlonglong llinf =(longlong)0x3f3f3f3f3f3f3f3f;constlonglong MOD =(longlong)1e9+7LL;const size_t N =(size_t)1e6+5;#defineIO\ios::sync_with_stdio(false);\std::cin.tie(0);\std::cout.tie(0)int Log[N];voidinit(){
Log[0]=-1;for(int i =1; i <=200005; i++){if(i &(i -1)){
Log[i]= Log[i -1];}else{
Log[i]= Log[i -1]+1;}}}voidsolve(){
string s;
cin >> s;int ans = inf;for(int i =0; i <26; i++){int num =0, l =0;bool f =true;for(int p =0; p < s.size(); p++){if(s[p]== i +'a'){
f =false;
l =max(l, num);
num =0;}else{
num++;}if(p == s.size()-1){
l =max(l, num);
num =0;}}if(f){continue;}
ans =min(ans, Log[l]+1);}
cout << ans << endl;}signedmain(){
IO;int T;
T =1;
cin >> T;init();while(T--){solve();}return0;}
D. Black Cells
#include<bits/stdc++.h>//#define LOCAL#ifdefLOCAL#include"LocalDebug.h"#endifusingnamespace std;#defineintlonglong#definepbpush_backconstint inf =0x3f3f3f3f;constlonglong llinf =(longlong)0x3f3f3f3f3f3f3f3f;constlonglong MOD =(longlong)1e9+7LL;const size_t N =(size_t)1e6+5;#defineIO\ios::sync_with_stdio(false);\std::cin.tie(0);\std::cout.tie(0)voidsolve(){int n, k;
cin >> n >> k;
vector<int>l(n);
vector<int>r(n);for(int i =0; i < n; i++){
cin >> l[i];}for(int i =0; i < n; i++){
cin >> r[i];}int ans = inf;int sum =0;
priority_queue<int, vector<int>, greater<>> h;for(int i =0; i < n; i++){
h.push(r[i]- l[i]+1);
sum +=(r[i]- l[i]+1);while(sum >= k){int tem = k -(sum -(r[i]- l[i]+1))+ l[i]-1;
ans =min(ans,2*(int)h.size()+ tem);
sum -= h.top();
h.pop();}}if(ans == inf){
ans =-1;}
cout << ans << endl;}signedmain(){
IO;int T;
T =1;
cin >> T;while(T--){solve();}return0;}