#1106
Progresie
Să se determine un șir strict crescător, cu lungimea N
, format din numere naturale nenule, \( 1 ≤ a_1 < a_2 < a_3 < … < a_N ≤ [2 \cdot N \cdot \sqrt{N}] \), cu proprietatea că oricare trei termeni distincți ai șirului nu sunt în progresie aritmetică, adică pentru oricare numere naturale i
, j
şi k
cu 1 ≤ i < j < k ≤ N
, este îndeplinită condiţia: \( a_i + a_j \neq 2 \cdot a_j \). Prin [x]
s-a notat partea întreagă a lui x
.
De exemplu, pentru N = 5
, cel mai mare termen al șirului va trebui să fie mai mic sau egal cu \( [2 \cdot 5 \cdot \sqrt{5} ] \), adică a
N
≤ 22
, deci o soluție este: 1, 2, 4, 5, 10
.
Problema | Progresie | Operații I/O |
progresie.in /progresie.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 32 MB
/
Stivă 16 MB
|
Id soluție | #49865845 | Utilizator | |
Fișier | progresie.cpp | Dimensiune | 543 B |
Data încărcării | 18 Martie 2024, 12:18 | Scor / rezultat | Eroare de compilare |
progresie.cpp:9:6: error: 'bool rand' redeclared as different kind of symbol bool rand; ^ 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 progresie.cpp:1: /usr/include/stdlib.h:374:12: error: previous declaration of 'int rand()' extern int rand (void) __THROW; ^ progresie.cpp: In function 'int main()': progresie.cpp:17:15: warning: the address of 'int rand()' will never be NULL [-Waddress] {if(rand==0) ^ progresie.cpp:18:32: error: assignment of function 'int rand()' elem+=2,caterand++,rand=1; ^ progresie.cpp:18:32: error: cannot convert 'int' to 'int()throw ()' in assignment progresie.cpp:19:19: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] else if(rand==1) ^ progresie.cpp:22:9: error: assignment of function 'int rand()' rand=0; ^ progresie.cpp:22:9: error: cannot convert 'int' to 'int()throw ()' in assignment
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Progresie 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ă.