Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
44723270 Дорешивание:
Lgq_3de5
1070J - 29 C++14 (GCC 6-32) Полное решение 530 мс 404 КБ 2018-10-23 09:40:10 2018-10-23 09:40:11
→ Исходный код
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int S=26;
const int maxn=2e5+5;
int cnt[S];
bool dp[maxn];
char St[maxn];
int main()
{
	int t;
	cin >> t;
	while (t--)
	{
		int n,m,s;
		cin >> n >> m >> s;
		memset(cnt,0,sizeof(cnt));
		cin >> St;
		long long ans=1e18+5;
		for (int i=0;i<s;i++)
			cnt[St[i]-'A']++;
		for (int i=0;i<26;i++)
		{
			if (cnt[i]==0) continue;
			memset(dp,false,sizeof(dp));
			dp[0]=true;
			for (int j=0;j<26;j++)
			{
				if (i==j) continue;
				if (cnt[j]!=0)
				for (int k=n-cnt[j];k>=0;k--)
					if (dp[k])
						dp[k+cnt[j]]=1;
			}
			for (int k=max(n-cnt[i],0);k<=n;k++)
				if (dp[k])
					ans=min(ans,1ll*(n-k)*max(0,m-(s-k-cnt[i])));
		}
		cout << ans << endl;		
	}
}/*2
2 7 9
EEZZEEZZZ*/
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования