每种颜色最多放 个,总数不能超过
个。
因此只要让 同时不小于
和
。
void solve(){
ll a,b;cin>>a>>b;
ll need=max(a+b,2*max(a,b)-1);
ll n=sqrt(need);
if(n*n<need)++n;
cout<<n<<endl;
}

每种颜色最多放 个,总数不能超过
个。
因此只要让 同时不小于
和
。
void solve(){
ll a,b;cin>>a>>b;
ll need=max(a+b,2*max(a,b)-1);
ll n=sqrt(need);
if(n*n<need)++n;
cout<<n<<endl;
}