Alexandru este foarte pasionat de cuburi. Într-o zi, acesta a creat un zid format din N
turnuri de cuburi, turnul i
fiind alcătuit din H[i]
cuburi puse unul peste altul. Având acest zid, el își pune următoarea întrebare: Dacă aș porni de la un zid “gol” cu N
turnuri (gol înseamnă ca H[i] = 0
pentru orice 1 ≤ i ≤ N
) iar singura operație pe care o pot face este să aleg doi indici i
și j
cu 1 ≤ i ≤ j ≤ N
și să pun câte un cub peste fiecare turn în intervalul i
și j
, care este numărul minim de astfel de operații ce trebuie efectuate pentru a obține zidul inițial?
Cerința
Lui Alexandru i s-a părut banală problema așa că te provoacă și pe tine să o rezolvi.
Date de intrare
Fișierul de intrare mcub.in
conține pe prima linie numărul N
, iar pe a doua linie N
numere naturale ce reprezintă înălțimile fiecărui turn al zidului.
Date de ieșire
Fișierul de ieșire mcub.out
va conține pe prima linie numărul S
, reprezentând răspunsul întrebării puse de Alex.
Restricții și precizări
1 ≤ N ≤ 100.000
- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000.000
Exemplu
mcub.in
5 1 0 3 1 2
mcub.out
5
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema MCub:
//Todoran Alexandru Raul, clasa a V-a, Colegiul National Aurel Vlaicu Orastie
#include <iostream>
#include <fstream>
using namespace std;
int n,a,b,i;
long long s;
int main()
{
ifstream fin ("mcub.in");
ofstream fout ("mcub.out");
fin>>n;
for(i=1;i<=n;i++)
{
b=a;
fin>>a;
if(a>b)s+=(a-b);
}
fout<<s<<"\n";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2033 MCub
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2033 MCub de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!