寒假限时训练(2)D、E、F
HuiPuKui
·
·
个人记录
D - Plus One on the Subset
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int t,s[11111];
int main()
{
int a;
cin>>a;
while(a--)
{
cin>>t;
for(int i=0; i<t; i++)
cin>>s[i];
sort(s,s+t);
printf("%d\n",s[t-1]-s[0]);
}
}
E - Make AP
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int a,b,c;
cin>>a>>b>>c;
if((a+c)%(2*b)==0&&a+c>0||((2*b-c)%a==0&&2*b-c>0)||((2*b-a)%c==0&&2*b-a>0))
puts("YES");
else
puts("NO");
}
}
F - Division by Two and Permutation
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int w[11111],x[11111];
int main()
{
int a,flag;
cin>>a;
while(a--)
{
memset(w,0,11111);
flag=0;
int s;
cin>>s;
for(int i=0; i<s; i++)
cin>>x[i];
for(int i=0; i<s; i++)
{
while(x[i]>s)
{
x[i]=x[i]/2;
}
while(w[x[i]]==1)
{
x[i]=x[i]/2;
}
if(x[i]==0)
{
flag=1;
break;
}
else
w[x[i]]=1;
}
if(!flag)
printf("YES\n");
else
printf("NO\n");
}
}