Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
64278658 Дорешивание:
vjudge4
1070J - 29 GNU C++11 Полное решение 155 мс 324 КБ 2019-11-05 02:49:05 2019-11-05 02:49:05
→ Исходный код
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3e4+5,M=2e5+5;
ll cnt[26];
int f[N];
char s[M];
int main(){
	int T;scanf("%d",&T);
	f[0]=1;
	while(T--){
		ll n,m,k,ans=1e18;
		memset(cnt,0,sizeof(cnt));
		scanf("%lld%lld%lld%s",&n,&m,&k,s+1);
		ll d=k-n-m;
	//	if(n<m)swap(n,m);
		for(int o=1;o<=k;o++)cnt[s[o]-'A']++;
		for(int i=0;i<26;i++){
			for(int s=1;s<=n;s++)f[s]=0;
			for(int j=0;j<26;j++){
				if(j==i)continue;
				for(int s=n;s>=cnt[j];s--)f[s]|=f[s-cnt[j]];
			}
			for(int j=min(cnt[i],n);j>=0;j--){
				if(!f[n-j])continue;
				ans=min(ans,max(0ll,cnt[i]-j-d)*j);
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
	  	  		  			    			    			 			
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования