#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 k
p
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 10
2
= 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ă:
OJI 2016, Clasa a VIII-a
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 | #21505134 | Utilizator | |
Fișier | arma1.cpp | Dimensiune | 649 B |
Data încărcării | 03 Martie 2020, 17:03 | Scor / rezultat | Eroare de compilare |
arma1.cpp: In function 'int main()': arma1.cpp:24:30: error: call of overloaded 'abs(double)' is ambiguous if(abs(w - int(w)) < EPS) ^ arma1.cpp:24:30: note: candidates are: In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from arma1.cpp:1: /usr/include/stdlib.h:775:12: note: int abs(int) extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; ^ In file included from /usr/include/c++/4.8/ext/string_conversions.h:41:0, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from arma1.cpp:1: /usr/include/c++/4.8/cstdlib:174:3: note: long long int std::abs(long long int) abs(long long __x) { return __builtin_llabs (__x); } ^ /usr/include/c++/4.8/cstdlib:166:3: note: long int std::abs(long int) abs(long __i) { return __builtin_labs(__i); } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Arma1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.