Решение задачи "Контест для роботов" с Codeforces

Без пояснения   Просмотров: 7


Поликарп готовит первый контест по программированию для роботов. В этом контесте n задач, и большое количество самых разных роботов попробует их решить. Каждый робот, решивший задачу i, получает pi баллов, и итоговый результат робота в соревновании считается как сумма pi по всем задачам i, которые он решил. Для каждой задачи pi — целое число не меньше 1.

Две компании, специализирующиеся на робототехнике, «Robo-Coder Inc.» и «BionicSolver Industries», также собираются отправить по одному роботу на соревнование. Поликарп знает все сильные и слабые стороны роботов, производимых этими компаниями, поэтому для каждой задачи он может точно предсказать, какие из этих двух роботов решат ее, а какие — не решат. Зная эту информацию, он может оценить результаты соревнования или повлиять на них.

По какой-то причине (которая совершенно точно никак не связана с подкупом) Поликарп хочет, чтобы робот «Robo-Coder Inc.» выступил лучше, чем робот «BionicSolver Industries». Поликарп хочет выставить баллы за задачи pi таким образом, что робот «Robo-Coder Inc.» получит строго больше баллов, чем робот «BionicSolver Industries». Однако если значения pi будут большими, то наблюдатели могут что-то заподозрить, поэтому Поликарп хочет минимизировать максимум pi по всем задачам. Можете ли вы помочь Поликарпу определить минимально возможное верхнее ограничение на количество баллов за каждую задачу?

Код

#include<bits/stdc++.h>
using namespace std;

int a[105],b[105];

int main(){
	int n;
	int aa,bb;
	aa=bb=0;
	cin>>n;
	for(int i=0;i<n;i++)
	    cin>>a[i];
	for(int i=0;i<n;i++){
		cin>>b[i];
		if(a[i]&&!b[i])
		    aa++;
		if(!a[i]&&b[i])
		    bb++;
	}
	if(!aa)
	    cout<<-1<<endl;
	else 
	    cout<<bb/aa+1<<endl;
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться