A
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
//freopen("conan.in", "r", stdin);
//freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=1e2+5;
int a[N];
void solve(){
int n;
cin>>n;
int idx1=1,idx2=1;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]<a[idx1])idx1=i;
if(a[i]>a[idx2])idx2=i;
}
//cout<<idx1<<" "<<idx2<<endl;
int mn=max(idx1,idx2);
mn=min(mn,n-(min(idx1,idx2))+1);
mn=min(mn,min(idx1,idx2)+(n-max(idx1,idx2)+1));
cout<<mn<<endl;
}
int main(){
fast();
Test{
solve();
}
}
B
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
//freopen("conan.in", "r", stdin);
//freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=2e5+5;
int a[N];
void solve(){
int n;
cin>>n;
ll sum=0;
for(int i=0;i<n;i++)
cin>>a[i],sum+=a[i];
if(sum%n){
cout<<-1<<endl;
return;
}
sum/=n;
int cnt=0;
for(int i=0;i<n;i++)
cnt+=a[i]>sum;
cout<<cnt<<endl;
}
int main(){
fast();
Test{
solve();
}
}
C
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
//freopen("conan.in", "r", stdin);
//freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=2e5+5;
void solve(){
int n,l,r;
cin>>n>>l>>r;
vector<int>v(n);
for(int i=0;i<n;i++)
cin>>v[i];
sort(all(v));
ll ans=0;
for(int i=0;i<n;i++){
int l1=l-v[i];
int r1=r-v[i];
int idx=lower_bound(v.begin()+i+1,v.end(),l1)-v.begin();
int idx2=upper_bound(v.begin()+i+1,v.end(),r1)-v.begin();
//cout<<idx<<" "<<idx2<<endl;
ans+=(idx2-idx);
}
cout<<ans<<endl;
}
int main(){
fast();
Test{
solve();
}
}
E
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define Test int T;cin>>T;while(T--)
#define PI acos(-1)
#define endl "\n"
#define fx(x) fixed<<setprecision(x)
#define sz(s) (int)s.size()
#define all(v) (v).begin(),(v).end()
#define allr(v) (v).rbegin(),(v).rend()
#define mem(a,n) memset((a),n,sizeof (a))
#define INF 1e9
#define ii pair<ll,ll>
ll gcd(ll x,ll y){return(!y?x:gcd(y,x%y));}
ll lcm(ll x,ll y){return x/gcd(x,y)*y;}
void file(){
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
//freopen("conan.in", "r", stdin);
//freopen("bridges.out", "w", stdout);
#endif
}
void fast(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
file();
}
int dx[]= {-1,0,1,0};
int dy[]= {0,1,0,-1};
const double eps=1e-9;
const int mod=1e9+7;
const int N=1e6+5;
string cur="haha";
pair<ll,pair<string,string> > con(string s,map<string,pair<ll,pair<string,string> > >&mp){
ll cnt=0;
for(int i=0;i<sz(s);i++){
int x=0;
for(int j=i,idx=0;idx<4&&j<sz(s);j++,idx++){
if(s[j]==cur[idx])x++;
}
cnt+=x==4;
}
string t2;
int idx=0;
while(sz(t2)<3&&idx<sz(s))t2+=s[idx++];
string t;
while(sz(t)<3&&sz(s))t+=s.back(),s.pop_back();
reverse(all(t));
return {cnt,{t2,t}};
}
pair<ll,pair<string,string> > merge(string s1,string s2,map<string,pair<ll,pair<string,string> > >&mp){
ll cnt=0;
string s=mp[s1].second.second;
s+=mp[s2].second.first;
//cout<<s<<" ";
for(int i=0;i<sz(s);i++){
int x=0;
for(int j=i,idx=0;idx<4&&j<sz(s);j++,idx++){
if(s[j]==cur[idx])x++;
else break;
}
cnt+=x==4;
}
s=mp[s1].second.first;
s+=mp[s2].second.second;
//cout<<cnt<<endl;
string t2;
int idx=0;
while(sz(t2)<3&&idx<sz(s))t2+=s[idx++];
string t;
while(sz(t)<3&&sz(s))t+=s.back(),s.pop_back();
reverse(all(t));
return {cnt+mp[s1].first+mp[s2].first,{t2,t}};
}
void solve(){
map<string,pair<ll,pair<string,string> > >mp;
int n;
cin>>n;
string s1,s2,s3,s4,s5;
for(int i=0;i<n;i++){
cin>>s1>>s2>>s3;
if(s2==":="){
mp[s1]=con(s3,mp);
}
else{
cin>>s4>>s5;
mp[s1]=merge(s3,s5,mp);
}
//cout<<mp[s1].first<<endl;
//cout<<mp["c"].first<<endl;
}
cout<<mp[s1].first<<endl;
}
int main(){
fast();
Test{
solve();
}
//map<string,pair<int,string> >mp;
}