Detalii evaluare #53160616

Rezumat problemă

#1590 Arma1

În anul 2214 a izbucnit primul război interstelar. Pământul a fost atacat de către n civilizaţii extraterestre, pe care le vom numerota pentru simplicitate de la 1 la n.

Pentru a se apăra, pământenii au inventat o armă specială ce poate fi încărcată cu proiectile de diferite greutăţi, fabricate dintr-un material special denumit narun. Dacă arma este programată la nivelul p, atunci un proiectil de greutate k va ajunge exact la distanţa kp km (k la puterea p) faţă de Pământ şi dacă în acel punct se află cartierul general al unui atacator, acesta va fi distrus. De exemplu, dacă arma este programată la nivelul 2, un proiectil de greutate 10 va distruge cartierul general al extratereştrilor situat la distanţa 102 = 100 km de Pământ.

Arma poate fi încărcată cu proiectile de diferite greutăţi, dar cum narunul este un material foarte rar şi foarte scump, pământenii vor să folosească proiectile cât mai uşoare pentru a distruge cartierele generale inamice.

Cunoscându-se n, numărul atacatorilor, precum şi cele n distanţe până la cartierele generale ale acestora, să se scrie un program care determină:

  • cantitatea minimă de narun necesară pentru a distruge toate cartierele generale inamice;
  • nivelurile la care trebuie programată arma, pentru a distruge fiecare cartier general inamic cu o cantitate minimă de narun.

Detalii

Problema Arma1 Operații I/O arma1.in/arma1.out
Limita timp 0.5 secunde Limita memorie Total: 4 MB / Stivă 2 MB
Id soluție #53160616 Utilizator Munteanu Mihnea Gabriel (InformaticianInDevenire1)
Fișier arma1.cpp Dimensiune 2.41 KB
Data încărcării 19 Octombrie 2024, 15:42 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

arma1.cpp:12:14: error: 'std::vector<int> exp' redeclared as different kind of symbol
 vector <int> exp;

              ^
In file included from /usr/include/features.h:374:0,
                 from /usr/include/assert.h:35,
                 from /usr/include/c++/4.8/cassert:43,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33,
                 from arma1.cpp:1:
/usr/include/i386-linux-gnu/bits/mathcalls.h:100:1: error: previous declaration of 'double exp(double)'
 __MATHCALL (exp,, (_Mdouble_ __x));
 ^
arma1.cpp: In function 'void Descompunere_In_Factori_Primi(int)':
arma1.cpp:34:8: error: 'std::exp' does not have class type
     exp.clear();

        ^
arma1.cpp:37:12: error: 'std::exp' does not have class type
         exp.push_back(1);

            ^
arma1.cpp:44:24: error: 'std::exp' does not have class type
                     exp.push_back(0);

                        ^
arma1.cpp:46:28: error: 'std::exp' does not have class type
                 int j = exp.size()-1;

                            ^
arma1.cpp:49:26: error: invalid types '<unresolved overloaded function type>[int]' for array subscript
                     exp[j]++;

                          ^
arma1.cpp:53:24: error: 'std::exp' does not have class type
                     exp.push_back(1);

                        ^
arma1.cpp: In function 'int Calc_Exp(int)':
arma1.cpp:75:17: error: unable to deduce 'auto&&' from 'std::exp'
     for (auto x:exp){

                 ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Arma1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.