using System.Collections.Generic;
private static double T = 54000;
private static double time;
private static Queue<Zayvka>[] queFloor;
private static Lift[] queLift;
private static int numberFloor;
private static int numberLift;
static void Go(int nf, int nl) {
queFloor = new Queue<Zayvka>[numberFloor];
queLift = new Lift[numberLift];
public static SortedDictionary<int, Queue<Zayvka>> Step0(){
SortedDictionary<int, Queue<Zayvka>> done = new SortedDictionary<int, Queue<Zayvka>>();
for (int i = 0; i < queLift.Length; i++) {
int liftCurFloor = queLift[i].getCurFloor();
int liftFreePlaces = queLift[i].getFreePlaces();
int countZayvkiFloor = queFloor[liftCurFloor].Count;
if ( countZayvkiFloor > 0 && liftFreePlaces != 0) {
if (countZayvkiFloor > liftFreePlaces) {
takeLength = liftFreePlaces;
takeLength = countZayvkiFloor;
Queue<Zayvka> zayvkiForLift = new Queue<Zayvka>(queFloor[liftCurFloor].Take(takeLength).ToArray<Zayvka>());
done.Add(queLift[i].getID(), zayvkiForLift);
done.Add(queLift[i].getID(), new Queue<Zayvka>());
public static void notificationLitfS(SortedDictionary<int, Queue<Zayvka>> dict) {
for(int i = 0; i < queLift.Length; i++){
int liftID = queLift[i].getID();
queLift[i].takeZayvki(dict[liftID]);