题目链接:https://codeforces.com/problemset/problem/1321/A
My Answer Code:
/*
Author:Albert Tesla Wizard
Time:2021/3/5 16:47
*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n,cnt1=0,cnt2=0,cnt3=0;//cnt1为Robo-Coder Inc.能解决的题目数,cnt2为BionicSolver Industries能解决的题目数,cnt3为两者都能解决的题目数
cin>>n;
vector<int>a(n),b(n);
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<n;i++)cin>>b[i];
for(int i=0;i<n;i++)
{
if(a[i])cnt1++;
if(b[i])cnt2++;
if(a[i]&&b[i])cnt3++;
}
if(cnt1==cnt3)cout<<-1<<'\n';//如果Robo-Coder Inc.解决的题目数等于两者都能解决的题目数,则无法满足题设条件
else
{
if(cnt1>cnt2)cout<<1<<'\n';//如果Robo-Coder Inc.解决的题目数多于BionicSolver Industries能解决的题目数,显然每道题目的分值都为1时有最小的最大值1
else
{
int A=cnt2+1-cnt3;
int B=cnt1-cnt3;
if(A%B==0)cout<<A/B<<'\n';
else cout<<A/B+1<<'\n';
}
}
return 0;
}