Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
50503455 Дорешивание:
Photon_
1070J - 29 C++17 (GCC 7-32) Полное решение 187 мс 1300 КБ 2019-02-25 21:23:01 2019-02-25 21:23:01
→ Исходный код
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define oo 666666666

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t,n,m,k;
    string s;
    cin>>t;
    while(t--)
    {
        cin>>n>>m>>k>>s;
        int skip = k-n-m;
        if(m > n)swap(n,m);
        int A[256]={};
        for(auto&ch:s)A[ch]++;

        ll ats = LLONG_MAX/10;

        for(int i='A'; i<='Z'; i++)
        {
            int left = k-A[i];
            vector<int>DP(k+1);
            DP[0]=1;

            for(int j='A'; j<='Z'; j++)
                if(i!=j)
                for(int z=k-A[j]; z>=0; z--)
                    if(DP[z])DP[z+A[j]]=1;

            for(ll j=0; j<=min(A[i],n); j++)
                if(DP[n-j])ats=min(ats, j*max(0LL,A[i]-j-skip));
        }
        cout<<ats<<"\n";
    }
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования