牛客寒假集训营1
D 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
void solve(){
cin >> n;
map<int,int>mp;
int num1=0,num2=0;
for(int i=1;i<=n;i++){
int a; cin >> a;
if(!num1) num1=a;
else if(!num2 && num1!=a) num2=a;
mp[a]++;
}
if(mp.size()==2 && mp[num1]==mp[num2]) cout << "Yes\n";
else cout << "No\n";
}
A 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
int a[N];
void solve(){
int tc; cin >> tc;
while(tc--){
cin >> n;
bool if1=0;
for(int i=1;i<=n;i++){
cin >> a[i];
if(a[i]==1) if1=1;
}
if(if1){cout << "-1\n"; continue;}
cout << ((1ll<<61)-1) << "\n";
}
}
G 牛客传送门
代码如下:
const int N=2e6+10,M=1e4+10;
const int INF=0x3f3f3f3f;
const int mod=998244353;
ll n;
ll a[N];
void solve(){
cin >> n;
ll tot=0;
for(int i=1;i<=n;i++){
cin >> a[i];
tot+=a[i];
}
if(tot!=(n+1)*n/2){cout << "-1\n"; return ;}
sort(a+1,a+n+1);
ll ans=0;
for(int i=1;i<=n;i++){
if(a[i]>=i) break;
ans+=i-a[i];
}
cout << ans << "\n";
}
未完待续