Я даже не знаю, является ли это правильным способом, но я получаю ошибки без ошибок.
lli noOfCustomer, noOfCompartment;
cin>>noOfCustomer>>noOfCompartment;
multimap<lli, pair< **lli**, pair<lli, lli> > > reservations;
// compartment_no diff_in_out in_time out_time
REP(noOfCustomer){
lli si, fi, pi;
cin>>si>>fi>>pi;
lli diff = fi - si;
reservations.insert(make_pair(pi, make_pair(diff, make_pair(si, fi))));
multimap<lli, pair< lli, pair<lli, lli> > > :: iterator it;
for(it = reservations.begin(); it != reservations.end(); it++){
cout<<(*it).first<<" "<<(*it).second.first<<" "<<(*it).second.second.first<<" "<<(*it).second.second.second<<"\n";
}
}
Что я хочу сделать, это сохранить информацию о прибытие поезда (si) и отправление (fi) и сортировка информации в порядке возрастания diff (разница во времени отправления и прибытия).
Предположим, я ввожу информацию в виде
4*(no of trains)* 2*(no of platform)*
si fi platform_no
10 100 1
100 200 2
150 500 2
200 300 2
и получаю вывод в виде
platform no diff si fi
1 90 10 100
2 100 100 200
2 350 150 500
2 100 200 300
, но хочу, чтобы окончательный результат был отсортирован в порядке возрастания по отношению к ключу сравнения.
platform no diff si fi
1 90 10 100
2 100 100 200
2 100 200 300
2 350 150 500
Я просто хочу, чтобы заказ был отсортирован по разнице. Я в замешательстве. Я попытался найти его, но не смог его понять.