A. Two Elevators
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
void solve()
{
int a,b,c;
cin>>a>>b>>c;
int x=a,y=abs(c-b)+c;
if(x<y)cout<<1<<endl;
else if(x>y)cout<<2<<endl;
else cout<<3<<endl;
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}
B. Decode String
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
void solve()
{
cin>>n;
string s;
cin>>s;
string res;
for(int i=s.size()-1;i>=0;)
{
if(s[i]=='0')
{
int a=s[i-2]-'0',b=s[i-1]-'0';
int x=a*10+b;
i-=3;
res.pb(x-1+'a');
}
else res.pb(s[i]-'0'-1+'a'),i--;
}
reverse(all(res));
for(auto x:res)cout<<x;
cout<<endl;
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}
C. Jumping on Tiles
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
vector<PII>v;
bool cmp1(PII a,PII b)
{
if(a.x!=b.x)return a.x<b.x;
else return a.y<b.y;
}
bool cmp2(PII a,PII b)
{
if(a.x!=b.x)return a.x>b.x;
else return a.y<b.y;
}
void solve()
{
string s;
v.clear();
cin>>s;
n=s.size();
vector<int>a(n+1);
int start=s[0]-'a'+1,ed=s[n-1]-'a'+1;
if(start>ed)swap(start,ed);
rep(i,0,n-1)a[i]=s[i]-'a'+1;
rep(i,1,n-2)
if(start<=a[i]&&ed>=a[i])v.pb({a[i],i+1});
cout<<abs(a[0]-a[n-1])<<' '<<v.size()+2<<endl;
if(a[0]<=a[n-1])sort(all(v),cmp1);
else sort(all(v),cmp2);
cout<<1<<' ';
for(auto x:v)cout<<x.y<<' ';
cout<<n<<endl;
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}
D. Friends and the Restaurant
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
const int N=1e5+10;
int a[N],b[N];
void solve()
{
cin>>n;
rep(i,1,n)cin>>a[i];
rep(i,1,n)cin>>b[i];
vector<int>v1,v2;
rep(i,1,n)
if(b[i]>=a[i])v1.pb(b[i]-a[i]);
else v2.pb(a[i]-b[i]);
sort(all(v1)),sort(all(v2));
int res=0;
for(auto x:v2)
{
int l=0,r=v1.size();
while(l<r)
{
int mid=l+r>>1;
if(v1[mid]>=x)r=mid;
else l=mid+1;
}
if(r==v1.size())continue;
else res++,v1.erase(v1.begin()+r);
}
res+=v1.size()/2;
cout<<res<<endl;
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}
E. Guess the Cycle Size
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
const int base=132;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n;
void solve()
{
rep(i,1,25)
{
cout<<"? 1 "<<i+1<<endl;
int a,b;
cin>>a;
if(a==-1)
{
cout<<"! "<<i<<endl;
return;
}
cout<<"? "<<i+1<<" 1"<<endl;
cin>>b;
if(a!=b)
{
cout<<"! "<<a+b<<endl;
return;
}
}
}
signed main()
{
io;
int _;_=1;
while(_--)solve();
return 0;
}
F. Kirei and the Linear Function
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const double eps=1e-7;
const int base=132;
#define YES cout<<"YES"<<endl
#define NO cout<<"NO"<<endl
#define x first
#define y second
#define int long long
#define lb long double
#define pb push_back
#define endl '\n'
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dwn(i,n,x) for(int i=n;i>=x;i--)
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
int Mod(int a,int mod){return (a%mod+mod)%mod;}
int lowbit(int x){return x&-x;}
int qmi(int a, int k, int p){int res = 1 % p;while (k){if (k & 1) res = Mod(res * a , p);a = Mod(a * a , p);k >>= 1;}return res;}
int inv(int a,int mod){return qmi(a,mod-2,mod);}
int n,w,m;
const int N=2e5+10;
string str;
int s[N];
int p[N];
int val[N];
int check(int l,int r)
{
return Mod(s[r]-s[l-1]*p[r-l],9);
}
void solve()
{
cin>>str;
n=str.size();
str=" "+str;
cin>>w>>m;
p[0]=1;
rep(i,1,n)
{
p[i]=p[i-1]*10%9;
s[i]=(s[i-1]*10+str[i]-'0')%9;
}
vector<int>v[11];
for(int l=1,r=l+w-1;r<=n;l++,r++)
{
val[l]=Mod(s[r]-s[l-1]*p[r-l],9);
v[val[l]].pb(l);
}
while(m--)
{
PII res={ll_INF,ll_INF};
int l,r,k;
cin>>l>>r>>k;
int t=check(l,r);
rep(i,0,9)
{
if(!v[i].size())continue;
rep(j,0,9)
{
if(!v[j].size())continue;
if((t*i+j)%9==k)
{
if(i==j&&v[i].size()>1)res=min(res,{v[i][0],v[i][1]});
if(i!=j)res=min(res,{v[i][0],v[j][0]});
}
}
}
if(res.x==ll_INF)res={-1,-1};
cout<<res.x<<' '<<res.y<<endl;
}
}
signed main()
{
io;
int _;_=1;
cin>>_;
while(_--)solve();
return 0;
}