edificio NOIP2013Day2T1 informe sobre la competencia de resolución de problemas,

título Descripción

Chris Kinder realizó anual "la construcción de bloques de la competencia." Este año el contenido del juego es construir una anchura de n edificio, el edificio puede ser visto como un ancho de n-bloque de 1 bloques de construcción en una altura final de los componentes básicos de la necesidad I es alta.

Antes de comenzar a construir, no hay bloques (n bloques se pueden ver como bloques de construcción a una altura de 0). Cada operación subsiguiente, los niños puede ser seleccionado para un intervalo continuo [l, r], entonces el segundo L entre el primer bloque a bloque R (que incluye un bloque de los bloques L y R) aumenta la altura de todos los bloques de construcción 1, respectivamente.

M es un poco niños inteligentes, pronto se le ocurrió la mejor estrategia para la construcción del edificio, por lo que el número mínimo requerido de las operaciones de construcción. Pero no era un manos diligentes de los niños, por lo tanto, que le gustaría ayudar a poner en práctica esta estrategia, y para obtener un número mínimo de operaciones.

Entrada y salida de formato de
entrada de formato:

block.in archivo de entrada

Consta de dos líneas de entrada, la primera línea contiene un número entero n, denota el ancho del edificio.

La segunda línea contiene n enteros, el número entero i es hi.

Los formatos de salida:

El archivo de salida es block.out

Sólo una línea, a saber, la construcción de la cantidad mínima requerida de las operaciones.

entrada y salida de la muestra

Ejemplo de entrada # 1:
. 5
2 1 2. 4. 3

Muestra de salida # 1:
5

explicación

Muestra [explicar]

Uno de los mejores es posible, seleccione

[1,5] [1,3] [2,3] [3,3] [5,5]

[Rango de datos]

Para 30% de los datos, es 1 ≤ n ≤ 10;

Para 70% de los datos, es 1 ≤ n ≤ 1000;

Para 100% de los datos, es 1 ≤ n ≤ 100000,0 ≤ hi≤ 10.000.

Esta pregunta y antes de que podamos encontrar ninguna disminución en el resultado es una secuencia tras secuencia de este uno menos uno
ver el código

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
    int h;
    int hi[100010];
    int ans=0;
    int la=0;
    scanf("%d",&h);
    for(int i=0;i<h;i++){
        scanf("%d",&hi[i]);
    }
    for(int i=0;i<h;i++){
        if(hi[i]>hi[i-1]){
            ans+=hi[i]-hi[i-1];
        }
    }
    printf("%d",ans);
    return 0;
}
Publicado 41 artículos originales · ganado elogios 58 · Vistas a 60000 +

Supongo que te gusta

Origin blog.csdn.net/a1351937368/article/details/77659313
Recomendado
Clasificación