Решение задачи "Эмоции" с Codeforces

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


В одной очень популярной коллекционной карточной онлайн-игре есть n эмоций (игра довольно популярна, поэтому не будем упоминать ее название). i-я эмоция делает оппонента счастливее на ai единиц (все мы знаем, что эмоции в этой игре используются для того, чтобы делать оппонентов счастливее).

Вы можете использовать некоторые эмоции m раз. Вы можете использовать любую эмоцию один раз, больше одного раза или не использовать вообще. Единственное ограничение заключается в том, что вы не можете использовать одну и ту же эмоцию более, чем k раз подряд (иначе оппонент подумает, что вы его троллите).

Заметим, что две эмоции i и j (i≠j) такие, что ai=aj, являются различными.

Вы хотите сделать оппонента настолько счастливым, насколько это возможно. Найдите максимально возможную величину счастья оппонента.

Код

#include<bits/stdc++.h>
using namespace std;
main()
{
	long long n,k,m;
	cin>>n>>m>>k;
	vector<long long>a(n);
	for(long long i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	sort(a.begin(),a.end());
	long long g = m/(k+1);
	long long g1 = m%(k+1);
	cout<<a[n-1]*(g*k+g1)+a[n-2]*g;
}

         

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


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

Комментарии

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