Решение задачи TL с Codeforces

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


Валера решил подготовить раунд для Codesecrof. У него уже есть одна задача, в которой он хочет выставить ограничение по времени (TL).

Валера уже написал n верных решений. Для каждого верного решения он знает время его работы (в секундах). Также Валера написал m неправильных решений, и для каждого неправильного решения он знает время его работы (в секундах).

Предположим, Валера установит в задаче TL v секунд. Тогда будем говорить, что решение пройдет системное тестирование, если время его работы не больше v секунд. Также будем говорить, что решение пройдет системное тестирование с «запасом», если время его работы a секунд удовлетворяет неравенству 2a ≤ v.

В результате, Валера решил выставить такой TL v секунд, что выполнятся все условия:

v — целое положительное число;
все верные решения пройдут системное тестирование;
хотя бы одно верное решение пройдет системное тестирование с «запасом»;
все неверные решения не пройдут системное тестирование;
значение v минимально среди всех TL, для которых верны условия 1, 2, 3, 4.
Помогите Валере, найдите наиболее подходящий TL или определите, что такого TL не существует.

Код

#include <iostream>
using namespace std;
int main()
{
	int i,n,m,v=9999,p=-99999,a,b,c=999999;
	cin>>n>>m;
	for(i=1;i<=n;i++)
	{
		cin>>a;
		v=min(a,v);
		p=max(a,p);
	}
	for(i=1;i<=m;i++)
	{
		cin>>b;
		c=min(b,c);
	}
	if(max(2*v,p)<c)
		cout<<max(2*v,p);
	else
	cout<<-1;
	return 0;
}

         

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



Комментарии

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