El puente azul Copa ecuación más grande

Descripción del problema
  Título muy simple, dado N digital, no cambian sus posiciones relativas, en el medio de la multiplicación K y la adición de NK-1 del signo +, (más cualquier paréntesis) el resultado final es tan grande como sea posible. Debido a que la multiplicación y PLUS es un total de la N-1, de modo exactamente entre cada dos números adyacentes tener una señal. Por ejemplo:
  N = 5, K = 2,5 números 1,2,3,4,5 respectivamente, pueden ser una adición:
  1 * 2 * (3 + 4 + 5) = 24
  1 * (2 + 3) * (4 + 5) = 45
  (1 + 2 * 3) * (4 + 5) = 45
  ......
Formato de entrada
  Hay dos líneas de archivo de entrada, un primer comportamiento de dos números enteros separados por un espacio, y N representa K, donde (2 <= N <= 15, 0 <= K <= N-1). La segunda línea de los N números separados por espacios (cada número entre 0 a 9).
Formato de salida
  El archivo de salida sólo una línea contiene un entero que representa los resultados máximo requerido
entrada de la muestra
5 2
1 2 3 4 5
Ejemplo de salida
120
Descripción de la muestra
  (1 + 2 + 3) * 4 * 5 = 120
La referencia a https://www.cnblogs.com/cao-lei/p/6690827.html y https://blog.csdn.net/Tesla_meng/article/details/88614520
Para ser completado las preguntas
1 #include <bits / STDC ++ h.> 
 2  usando  espacio de nombres std;
3  largo  tiempo dp [ 20 ] [ 20 ];
4  larga  larga suma [ 20 ];
5  int main () {
 6      int n, k;
7      cin >> n >> k;
8      para ( int i = 1 ; i <= n; i ++ ) {
 9          int t;
10          cin >> t;
11          suma [i] = suma [i - 1 ] +T;
 12 es          DP [I] [ 0 ] = SUM [I]; 
 13 es      }
 14      para ( int I = 2 ; I <= N-; i ++) { // dígitos crecientes 
15          para ( int J = 1. ; J <= I - 1. && J <= K; J ++) { // el número cada vez mayor de multiplicación 
16              para ( int P = 2 ; P <= I; P ++) { // posición se mueve gradualmente la multiplicación de nuevo   
. 17                  DP [i] [j] = max (DP [i] [j], DP [P - . 1 ] [J - . 1 ] * (SUMA [I] - SUM [P - . 1]));
18              }
 19          }
 20      }
 21      cout << dp [n] [k] << endl;
22      de retorno  0 ;
23   }

 

Supongo que te gusta

Origin www.cnblogs.com/fx1998/p/12597855.html
Recomendado
Clasificación