A
#include <bits/stdc++.h>
using namespace std;
int t;
int n;
int main(){
cin>>t;
while(t--){
cin>>n;
int a[n];
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
cout<<(a[n-1]-a[0])<<endl;
}
}
B
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n, m;
int t = 1;
int a[N];
int main()
{
cin >> t;
while(t --)
{
int a, b, c;
cin >> a >> b >> c;
// b - a + b == c
if((b - c + b) % a == 0 && b - c + b > 0)
cout << "YES" << endl;
else if((a + c) % (2 * b) == 0)
cout << "YES" << endl;
else if((b - a + b) % c == 0 && b - a + b > 0)
cout << "YES" << endl;
else cout << "NO" << endl;
}
}
c
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int flag = 1;
vector<long long int> a(n);
for(int i=0; i<n; i++)
cin>>a[i];
sort(a.begin(), a.end());
bool f[n+1];
for(int i=0; i<n+1; i++)
f[i] = false;
for(int i=0; i<n; i++)
{
while(a[i]>1 && (a[i]>n || f[a[i]]))
a[i] = a[i]/2;
if(a[i]>n || f[a[i]])
{
cout<<"NO\n";
flag = 0;
break;
}
f[a[i]] = true;
}
if(flag == 1)
cout<<"YES\n";
}
return 0;
}
D
#include<bits/stdc++.h>
using namespace std;
int main(){
int T;
scanf("%d",&T);
while(T--){
int ch[200]={0};
int n,k;
scanf("%d%d",&n,&k);
getchar();
for(int i=0;i<n;i++){
char m=getchar();
ch[m]++;
}
int dan=0,shuang=0;
for(int i=0;i<200;i++){
if(ch[i]%2) dan++,ch[i]--;
shuang+=ch[i]/2;
}
int sum=0;
sum+=shuang/k*2;
shuang%=k;
shuang*=2;
dan+=shuang;
if(dan>=k) sum++;
printf("%d\n",sum);
}
return 0;
}