#2084
water trap
Pe o platformă sunt montate pe poziții consecutive n
bare verticale de lățime 1cm
. Vom presupune că platforma este mărginită față/spate de ziduri transparente de înălțime infinită. Cantitatea de apă ce poate fi reținută într-o unitate de volum (1cm x 1cm x 1cm
) este de 1
litru. Determinați cantitatea de apă reținută.
ad-hoc
Problema | water trap | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #16368081 | Utilizator | |
Fișier | water_trap.cpp | Dimensiune | 596 B |
Data încărcării | 19 Iulie 2019, 17:01 | Scor / rezultat | Eroare de compilare |
water_trap.cpp: In function 'int main()': water_trap.cpp:15:3: error: reference to 'left' is ambiguous left[1] = height[1]; ^ water_trap.cpp:5:19: note: candidates are: int left [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:922:3: note: std::ios_base& std::left(std::ios_base&) left(ios_base& __base) ^ water_trap.cpp:17:5: error: reference to 'left' is ambiguous left[i] = max(height[i], left[i - 1]); ^ water_trap.cpp:5:19: note: candidates are: int left [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:922:3: note: std::ios_base& std::left(std::ios_base&) left(ios_base& __base) ^ water_trap.cpp:17:30: error: reference to 'left' is ambiguous left[i] = max(height[i], left[i - 1]); ^ water_trap.cpp:5:19: note: candidates are: int left [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:922:3: note: std::ios_base& std::left(std::ios_base&) left(ios_base& __base) ^ water_trap.cpp:19:3: error: reference to 'right' is ambiguous right[n] = height[n]; ^ water_trap.cpp:5:31: note: candidates are: int right [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:930:3: note: std::ios_base& std::right(std::ios_base&) right(ios_base& __base) ^ water_trap.cpp:21:5: error: reference to 'right' is ambiguous right[i] = max(height[i], right[i + 1]); ^ water_trap.cpp:5:31: note: candidates are: int right [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:930:3: note: std::ios_base& std::right(std::ios_base&) right(ios_base& __base) ^ water_trap.cpp:21:31: error: reference to 'right' is ambiguous right[i] = max(height[i], right[i + 1]); ^ water_trap.cpp:5:31: note: candidates are: int right [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:930:3: note: std::ios_base& std::right(std::ios_base&) right(ios_base& __base) ^ water_trap.cpp:24:18: error: reference to 'left' is ambiguous water += min(left[i], right[i]) - height[i]; ^ water_trap.cpp:5:19: note: candidates are: int left [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:922:3: note: std::ios_base& std::left(std::ios_base&) left(ios_base& __base) ^ water_trap.cpp:24:27: error: reference to 'right' is ambiguous water += min(left[i], right[i]) - height[i]; ^ water_trap.cpp:5:31: note: candidates are: int right [100001] int height[NMAX], left[NMAX], right[NMAX]; ^ In file included from /usr/include/c++/4.8/ios:42:0, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from water_trap.cpp:1: /usr/include/c++/4.8/bits/ios_base.h:930:3: note: std::ios_base& std::right(std::ios_base&) right(ios_base& __base) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema water trap 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ă.