#1340
Rucsac
Într-un magazin sunt n
obiecte; pentru fiecare se cunoaște greutatea G
și valoarea V
. Un hoț intră în magazin având un rucsac ce poate transporta o greutate maximă GMax
. El va fura anumite obiecte, sau porțiuni de obiecte, astfel încât suma greutăților obiectelor furate să nu depășească GMax
.
Să se stabilească câștigul maxim pe care îl poate obține hoțul. Câștigul este egal cu suma valorilor obiectelor furate. Câștigul adus de o fracțiune de obiect este direct proporțional cu greutatea fracțiunii.
Problema | Rucsac | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #49340646 | Utilizator | |
Fișier | rucsac.cpp | Dimensiune | 943 B |
Data încărcării | 26 Februarie 2024, 22:00 | Scor / rezultat | Eroare de compilare |
rucsac.cpp: In function 'int main()': rucsac.cpp:16:58: error: parameter declared 'auto' std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:74: error: parameter declared 'auto' std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp: In lambda function: rucsac.cpp:17:29: error: 'p1' was not declared in this scope double d1 = (double)p1.second / p1.first; ^ rucsac.cpp:18:29: error: 'p2' was not declared in this scope double d2 = (double)p2.second / p2.first; ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]': /usr/include/c++/4.8/bits/stl_algo.h:2226:70: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5500:55: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' rucsac.cpp:20:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:2159:29: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' if (__comp(*__i, *__first)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: bool (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]': /usr/include/c++/4.8/bits/stl_algo.h:5349:59: required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:2332:68: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Size = int; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' rucsac.cpp:20:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:1948:27: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' if (__comp(*__i, *__first)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: bool (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]': /usr/include/c++/4.8/bits/stl_algo.h:2295:13: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Size = int; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' rucsac.cpp:20:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:114:28: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' if (__comp(*__a, *__b)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: bool (*)() <conversion> if (__comp(*__a, *__b)) ^ /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:116:25: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' if (__comp(*__b, *__c)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: bool (*)() <conversion> if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:118:30: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' else if (__comp(*__a, *__c)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: bool (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:123:33: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' else if (__comp(*__a, *__c)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: bool (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:125:33: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' else if (__comp(*__b, *__c)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: bool (*)() <conversion> else if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: In instantiation of '_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Tp = std::pair<int, int>; _Compare = main()::__lambda0]': /usr/include/c++/4.8/bits/stl_algo.h:2296:78: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:2337:62: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Size = int; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' rucsac.cpp:20:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, const std::pair<int, int>&)' while (__comp(*__first, __pivot)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: bool (*)() <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(main()::__lambda0) (const std::pair<int, int>&, std::pair<int, int>&)' while (__comp(__pivot, *__last)) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: bool (*)() <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h: In instantiation of 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Distance = int; _Tp = std::pair<int, int>; _Compare = main()::__lambda0]': /usr/include/c++/4.8/bits/stl_heap.h:448:15: required from 'void std::make_heap(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:1946:47: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5349:59: required from 'void std::partial_sort(_RAIter, _RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:2332:68: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Size = int; _Compare = main()::__lambda0]' /usr/include/c++/4.8/bits/stl_algo.h:5499:44: required from 'void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]' rucsac.cpp:20:6: required from here /usr/include/c++/4.8/bits/stl_heap.h:313:40: error: no match for call to '(main()::__lambda0) (std::pair<int, int>&, std::pair<int, int>&)' *(__first + (__secondChild - 1)))) ^ rucsac.cpp:16:44: note: candidates are: std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: bool (*)() <conversion> *(__first + (__secondChild - 1)))) ^ /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: candidate expects 1 argument, 3 provided rucsac.cpp:16:76: note: main()::__lambda0 std::sort(items.begin(), items.end(), [](const auto &p1, const auto &p2) { ^ rucsac.cpp:16:76: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_algo.h: At global scope: /usr/include/c++/4.8/bits/stl_algo.h:2110:5: error: 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]', declared using local type 'main()::__lambda0', is used but never defined [-fpermissive] __unguarded_linear_insert(_RandomAccessIterator __last, ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from rucsac.cpp:2: /usr/include/c++/4.8/bits/stl_heap.h:331:5: error: 'void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Compare = main()::__lambda0]', declared using local type 'main()::__lambda0', is used but never defined [-fpermissive] __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, ^ /usr/include/c++/4.8/bits/stl_heap.h:178:5: error: 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >; _Distance = int; _Tp = std::pair<int, int>; _Compare = main()::__lambda0]', declared using local type 'main()::__lambda0', is used but never defined [-fpermissive] __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Rucsac 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ă.