1159B coeficiente de expansión de la matriz

B. Coeficiente de dilatación de la matriz

límite de tiempo por prueba

1 segundo

límite de memoria por prueba

256 megabytes

entrada

entrada estándar

salida

la salida estándar

Vamos a llamar a una matriz de enteros no negativos A1, A2, ..., ana1, a2, ..., an una kk-extensión para algunos kk entero no negativo si para todos los posibles pares de índices 1≤i, j≤n1≤i, j≤n la desigualdad k⋅ | i-j | ≤min (ai, aj) k⋅ | i-j | ≤min (ai, aj) es satisfecha. El coeficiente de dilatación del aa matriz es el máximo número entero kk tal que el aa matriz es una kk-extensión. Cualquier matriz es un 0-expansión, por lo que siempre existe el coeficiente de expansión.

Se le da una matriz de enteros no negativos a1, a2, ..., ana1, a2, ..., an. Encuentra su coeficiente de expansión.

Entrada

La primera línea contiene un número entero positivo nn - el número de elementos en el aa array (2≤n≤3000002≤n≤300000). La siguiente línea contiene nn enteros no negativos a1, a2, ..., ana1, a2, ..., an, separados por espacios (0≤ai≤1090≤ai≤109).

Salida

Imprimir un número entero no negativo - coeficiente de dilatación de la matriz a1, a2, ..., ana1, a2, ..., an.

Ejemplos

entrada

Copiar

4 
6 4 5 5

salida

Copiar

1

entrada

Copiar

3 
0 1 2

salida

Copiar

0

entrada

Copiar

4 
821 500 479 717

salida

Copiar

239

Nota

En la primera prueba, el coeficiente de expansión de la matriz [6,4,5,5] [6,4,5,5] es igual a 11, porque | i-j | ≤min (ai, aj) | i-j | ≤min (ai, aj), porque todos los elementos de la matriz satisfacer ai≥3ai≥3. Por otro lado, esta matriz no es un 22-extensión, porque 6 = 2⋅ | 1-4 | ≤min (a1, a4) = 56 = 2⋅ | 1-4 | ≤min (a1, a4) = 5 es falso.

En la segunda prueba, el coeficiente de expansión de la matriz [0,1,2] [0,1,2] es igual a 00, porque esta matriz no es un 11-extensión, pero es 00-extensión.

El significado de problemas: Entrada n, n representa un número entero positivo, para encontrar un coeficiente k, k satisface todos los k <= min (a [i], a [j]) / | ij |, es decir que k es un número tomado para satisfacer todas dos están emparejados, tomando el valor más pequeño, entonces, además de la diferencia de índice estándar, ya que cumple con todos los números, que es hacer k tan pequeño como sea posible, que el subíndice ij el valor del índice máximo, este título n es 3 * 10 ^ 5 si logarítmica violenta, dos circule, 9 * 10 ^ 9 tiempo de espera. Se abrirá una nueva ruta.

Solución: En el cálculo de la contribución de cada número, ya que para este número, si no es en lo más mínimo un par de números en el interior, y que no afectó, si él es el más pequeño, entonces es llegar al mínimo ambos extremos de la respuesta, si se actualiza la respuesta actual a la última posición de que un número menor, la respuesta se actualizarán ningún efecto.

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,x,ans=1<<30;
    cin>>n;
    for(int i=1;i<=n;i++)
        {
            cin>>x;
            ans=min(ans,x/max(i-1,n-i));
        }
        cout<<ans<<endl;
    return 0;
}

 

Publicados 395 artículos originales · ganado elogios 126 · Vistas de 200.000 +

Supongo que te gusta

Origin blog.csdn.net/memory_qianxiao/article/details/90240939
Recomendado
Clasificación