#3836
Caesar Legions
Generalul vostru preferat , Gaius Julius Caesar se află într-o nouă campanie militară. De data aceasta , el deține N
soldați numerotați de la 1
la N
. Această armată este definită printr-un vector unidimensional legions
, legions[i]
înseamnand ca al i
-lea soldat face parte din legiunea legions[i]
.Julius Caesar vrea să ia cu el în luptă o secvență st.....dr
de soldați. Deoarece nu vrea să existe discriminare , odată luat un soldat dintr-o legiune x
, toți soldații din legiunea x
trebuie sa fie prezenți în st....dr
. De exemplu dacă legiunile soldațiolor sunt [1 , 2 , 1]
atunci Julius Caesar nu poate lua secvența determinată de primul soldat, deoarece conține un soldat din legiunea 1
, dar nu îi contine pe toți. Prin urmare secvențele bune ar fi : [1 , 3]
și [2 ,2]
. Julius Caesar se intreabă câte astfel de intervale de soldați există în armata sa.
infoleague.net runda 2 problema 3.
Problema | Caesar Legions | Operații I/O |
caesar.in /caesar.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #31087072 | Utilizator | |
Fișier | caesar_legions.cpp | Dimensiune | 2.25 KB |
Data încărcării | 01 Octombrie 2021, 17:02 | Scor / rezultat | Eroare de compilare |
caesar_legions.cpp:10:31: error: 'int log [100005]' redeclared as different kind of symbol int N, legions[MaxN], log[MaxN], last[MaxN], first[MaxN], rmqLast[MaxN][MaxLog], ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/utility:68, from /usr/include/c++/4.8/algorithm:60, from caesar_legions.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:109:1: error: previous declaration of 'double log(double)' __MATHCALL (log,, (_Mdouble_ __x)); ^ caesar_legions.cpp: In function 'int queryLast(int, int)': caesar_legions.cpp:26:26: error: invalid types '<unresolved overloaded function type>[int]' for array subscript int l = log[e - s + 1]; ^ caesar_legions.cpp: In function 'int queryFirst(int, int)': caesar_legions.cpp:31:26: error: invalid types '<unresolved overloaded function type>[int]' for array subscript int l = log[e - s + 1]; ^ caesar_legions.cpp: In function 'int main()': caesar_legions.cpp:74:14: error: invalid types '<unresolved overloaded function type>[int]' for array subscript log[i] = 1 + log[i / 2]; ^ caesar_legions.cpp:74:31: error: invalid types '<unresolved overloaded function type>[int]' for array subscript log[i] = 1 + log[i / 2]; ^ caesar_legions.cpp:36:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("caesar.in", "r", stdin); ^ caesar_legions.cpp:37:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("caesar.out", "w", stdout); ^ caesar_legions.cpp:39:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &N); ^ caesar_legions.cpp:42:33: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &legions[i]); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Caesar Legions 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ă.