la résolution des problèmes de construction NOIP2013Day2T1 rapport de la concurrence

Titre description

Chris Kindergarten a tenu « la construction de la concurrence des blocs. » Annuel Cette année, le contenu du jeu est de construire une largeur de bâtiment n, le bâtiment peut être considéré comme une largeur n-1 bloc de blocs de construction d'une hauteur finale des blocs de construction de la nécessité i est salut.

Avant de commencer à construire, pas de blocs (n blocs peuvent être considérés comme des blocs de construction à une hauteur de 0). Chaque opération ultérieure, les enfants peut être choisi pendant un intervalle continu [l, r], puis la seconde L entre le premier bloc à bloc R (y compris un bloc de blocs L et R) augmente la hauteur de tous les blocs de construction 1, respectivement.

M est un peu les enfants intelligents, elle vint bientôt avec la meilleure stratégie pour la construction du bâtiment, de sorte que le nombre minimum d'opérations de construction nécessaires. Mais elle était pas une pratique diligente des enfants, donc je vous aider à appliquer cette stratégie, et d'obtenir un nombre minimum d'opérations.

Entrée et le format de sortie
format d' entrée:

Fichier d'entrée block.in

Comprenant deux lignes d'entrée, la première ligne contient un nombre entier n, représente la largeur de l'immeuble.

La deuxième ligne contient n nombres entiers, le nombre entier i est salut.

formats de sortie:

Le fichier de sortie est block.out

Une seule ligne, à savoir la construction du nombre minimum d'opérations nécessaires.

l'entrée et la sortie d'échantillon

# Exemple d' entrée 1:
. 5
2 1 2. 4. 3

Exemple de sortie n ° 1:
5

explication

Exemple [expliquer]

L'un des meilleurs possibles, sélectionnez

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

[Plage de données]

Pour 30% des données, il est 1 ≤ n ≤ 10;

Pour 70% des données, il est 1 ≤ n ≤ 1000;

À 100% des données, il est 1 ≤ n ≤ ≤ 100000,0 hi≤ 10000.

Cette question avant que nous ne trouvons aucune baisse du résultat est une séquence après séquence de celle - ci moins un
voir le code

#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;
}
Publié 41 articles originaux · louange gagné 58 · vues + 60000

Je suppose que tu aimes

Origine blog.csdn.net/a1351937368/article/details/77659313
conseillé
Classement