#1204
Gara de Nord este cea mai vestită gară din lume. Japonezii, invidioşi pe sistemul performant de întârziere al trenurilor din Gara de Nord, s-au hotărât să analizeze motivul realizării unei astfel de performanțe.
În Gara de Nord (considerată stația 0) există N trenuri. Pentru fiecare tren i știm că va pleca din Gara noastră protagonistă (stația 0) și o să meargă până la stația statie[i]. Staţiile x şi x+1 sunt legate în mod direct pentru orice x, astfel că trenul i va opri în toate stațiile din intervalul [0, statie[i]]. De asemenea, știm că trenul i are o capacitate egală cu numărul maxim de oameni pe care îl poate transporta. Această capacitate este notată cu capacitate[i].
Avem M pasageri dornici sa folosească magnificul traseu. Pentru fiecare pasager i știm intervalul de stații [a[i], b[i]] pe care vrea să îl parcurgă. Mai exact, acesta vrea să se urce într-un tren în stația a[i] și să coboare în stația b[i].
Din cauza capacității limitate a trenurilor, este posibil ca nu toți pasagerii sa poată obțină un loc și să ajungă în destinația dorită. Să se determine numărul maxim de pasageri care pot ajunge din stația de plecare în stația de sosire, precum și o configurație în care aceștia se pot urca în trenuri.
ONI 2015, Clasele XI-XII
| Problema | Trenuri | Operații I/O |
trenuri.in/trenuri.out
|
|---|---|---|---|
| Limita timp | 1.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 16 MB
|
| Id soluție | #62352784 | Utilizator | |
| Fișier | trenuri.cpp | Dimensiune | 1.65 KB |
| Data încărcării | 19 Ianuarie 2026, 09:35 | Scor/rezultat | Eroare de compilare |
trenuri.cpp: In function 'int main()': trenuri.cpp:26:39: error: parameter declared 'auto' sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:48: error: parameter declared 'auto' sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp: In lambda function: trenuri.cpp:27:16: error: 'x' was not declared in this scope return x.b < y.b; ^ trenuri.cpp:27:22: error: 'y' was not declared in this scope return x.b < y.b; ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]': /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' trenuri.cpp:28:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:2159:29: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' if (__comp(*__i, *__first)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: void (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2159:29: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]': /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Size = int; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' trenuri.cpp:28:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:1948:27: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' if (__comp(*__i, *__first)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: void (*)() <conversion> if (__comp(*__i, *__first)) ^ /usr/include/c++/4.8/bits/stl_algo.h:1948:27: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]': /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Size = int; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' trenuri.cpp:28:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:114:28: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' if (__comp(*__a, *__b)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: void (*)() <conversion> if (__comp(*__a, *__b)) ^ /usr/include/c++/4.8/bits/stl_algo.h:114:28: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:116:25: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' if (__comp(*__b, *__c)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: void (*)() <conversion> if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:116:25: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:118:30: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' else if (__comp(*__a, *__c)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: void (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:118:30: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:123:33: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' else if (__comp(*__a, *__c)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: void (*)() <conversion> else if (__comp(*__a, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:123:33: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:125:33: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' else if (__comp(*__b, *__c)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: void (*)() <conversion> else if (__comp(*__b, *__c)) ^ /usr/include/c++/4.8/bits/stl_algo.h:125:33: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Tp = Passenger; _Compare = main()::__lambda4]': /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Size = int; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' trenuri.cpp:28:6: required from here /usr/include/c++/4.8/bits/stl_algo.h:2263:35: error: no match for call to '(main()::__lambda4) (Passenger&, const Passenger&)' while (__comp(*__first, __pivot)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: void (*)() <conversion> while (__comp(*__first, __pivot)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2263:35: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: error: no match for call to '(main()::__lambda4) (const Passenger&, Passenger&)' while (__comp(__pivot, *__last)) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: void (*)() <conversion> while (__comp(__pivot, *__last)) ^ /usr/include/c++/4.8/bits/stl_algo.h:2266:34: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: 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 /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Distance = int; _Tp = Passenger; _Compare = main()::__lambda4]': /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Size = int; _Compare = main()::__lambda4]' /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]' trenuri.cpp:28:6: required from here /usr/include/c++/4.8/bits/stl_heap.h:313:40: error: no match for call to '(main()::__lambda4) (Passenger&, Passenger&)' *(__first + (__secondChild - 1)))) ^ trenuri.cpp:26:31: note: candidates are: sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ In file included from /usr/include/c++/4.8/bits/stl_algo.h:61:0, from /usr/include/c++/4.8/algorithm:62, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: void (*)() <conversion> *(__first + (__secondChild - 1)))) ^ /usr/include/c++/4.8/bits/stl_heap.h:313:40: note: candidate expects 1 argument, 3 provided trenuri.cpp:26:49: note: main()::__lambda4 sort(p.begin(), p.end(), [](auto &x, auto &y) { ^ trenuri.cpp:26:49: note: candidate expects 0 arguments, 2 provided In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]', declared using local type 'main()::__lambda4', 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 /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from trenuri.cpp:1: /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<Passenger*, std::vector<Passenger> >; _Compare = main()::__lambda4]', declared using local type 'main()::__lambda4', 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<Passenger*, std::vector<Passenger> >; _Distance = int; _Tp = Passenger; _Compare = main()::__lambda4]', declared using local type 'main()::__lambda4', is used but never defined [-fpermissive] __push_heap(_RandomAccessIterator __first, _Distance __holeIndex, ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Trenuri 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ă.