@@ -210,95 +210,88 @@ export default class Lrtf extends InputTable {
210
210
// console.log(tuple);
211
211
}
212
212
// var tuple = [
213
- // {pid:1,bt:2,art:1},
214
- // {pid:2,bt:4,art:2},
215
- // {pid:3,bt:6,art:3},
216
- // {pid:4,bt:8,art:4},
217
- // ];
218
- // var tuple_temp = [
219
- // {pid:1,bt:2,art:1},
220
- // {pid:2,bt:4,art:2},
221
- // {pid:3,bt:6,art:3},
222
- // {pid:4,bt:8,art:4},
213
+ // {pid:1,bt:2,art:1},
214
+ // {pid:2,bt:7,art:6},
215
+ // {pid:3,bt:5,art:4},
216
+
223
217
// ];
224
- var tuple_i = tuple ;
218
+ var n = tuple . length ;
219
+ var artt = [ ] ;
220
+ var total_btt = [ ] ;
221
+ for ( var i = 0 ; i < tuple . length ; i ++ ) {
222
+ total_btt [ i ] = tuple [ i ] . bt ;
223
+ artt [ i ] = tuple [ i ] . art ;
224
+ // console.log(total_bt[i]);
225
+ }
226
+ var tuple_temp = tuple ;
225
227
tuple . sort ( function ( a , b ) {
226
- if ( a . art == b . art ) {
227
- return b . bt - a . bt ;
228
- }
229
228
return a . art - b . art ;
230
229
} ) ;
231
230
tuple . sort ( ) ;
232
- var tuple_t = tuple ;
233
231
234
232
var n = tuple . length ;
235
233
var wt = [ ] ;
236
234
var tat = [ ] ;
237
235
var total_wt = 0 ;
238
236
var total_tat = 0 ;
239
237
var rt = [ ] ;
240
-
241
238
for ( var i = 0 ; i < n ; i ++ ) {
242
239
rt . push ( tuple [ i ] . bt ) ;
243
240
}
244
- var complete = 0 ,
245
- t = 0 ,
246
- minm = 9999 ;
247
- var shortest = 0 ,
248
- finish_time ;
249
- var check = false ;
241
+
250
242
var final_ans = [ ] ;
251
- // 1 2 3 4
252
- // 2 4 6 8
253
- var vis = [ ] ;
243
+ var visited = [ ] ;
254
244
for ( var i = 0 ; i < tuple . length ; i ++ ) {
255
- vis [ i ] = 0 ;
245
+ visited [ i ] = 0 ;
256
246
}
247
+
257
248
var que = [ ] ;
258
- var state = 0 ;
259
- var flag = 0 ;
249
+ var btco = [ ] ;
250
+ for ( var i = 0 ; i < n ; i ++ ) {
251
+ btco [ i ] = 0 ;
252
+ }
253
+
260
254
for ( var i = 0 ; i < 50 ; i ++ ) {
261
- var fl = 0 ;
262
- for ( var y = 0 ; y < tuple . length ; y ++ ) {
263
- if ( vis [ y ] === 0 ) {
264
- fl = 1 ;
255
+ for ( var j = 0 ; j < n ; j ++ ) {
256
+ if ( tuple [ j ] . bt <= 0 ) {
257
+ visited [ j ] = 1 ;
265
258
}
266
259
}
267
- var smit = [ ] ;
268
- if ( fl === 0 ) {
269
- final_ans . push ( "/" ) ;
270
- } else {
271
- for ( var j = 0 ; j < tuple . length ; j ++ ) {
272
- if ( tuple [ j ] . art <= i && vis [ j ] === 0 ) {
273
- smit . push ( tuple [ j ] . pid ) ;
260
+ var mn = 0 ;
261
+ var state = - 1 ;
262
+ for ( var j = 0 ; j < n ; j ++ ) {
263
+ if ( tuple [ j ] . art <= i ) {
264
+ if ( tuple [ j ] . bt > mn && visited [ j ] === 0 ) {
265
+ mn = tuple [ j ] . bt ;
266
+ state = j ;
274
267
}
275
268
}
276
- if ( tuple [ state ] . art > i ) {
277
- final_ans . push ( "/" ) ;
278
- } else {
269
+ }
270
+
271
+ if ( state == - 1 ) {
272
+ final_ans . push ( "/" ) ;
273
+ var smit = [ ] ;
274
+ que . push ( smit ) ;
275
+ } else {
276
+ for ( var j = 0 ; j < 1 ; j ++ ) {
279
277
final_ans . push ( tuple [ state ] . pid ) ;
278
+ }
279
+ tuple [ state ] . bt -= 1 ;
280
280
281
- tuple [ state ] . bt -- ;
282
- if ( tuple [ state ] . bt === 0 ) {
283
- vis [ state ] = 1 ;
284
- }
285
- var mx = 0 ;
286
- var ind = 0 ;
287
- for ( var j = tuple . length - 1 ; j >= 0 ; j -- ) {
288
- if ( tuple [ j ] . art <= tuple [ state ] . art + 1 ) {
289
- if ( tuple [ j ] . bt >= mx && tuple [ j ] . bt > 0 ) {
290
- mx = tuple [ j ] . bt ;
291
- ind = j ;
292
- }
281
+ for ( var g = i ; g < i + 1 ; g ++ ) {
282
+ var smit = [ ] ;
283
+ for ( var y = 0 ; y < n ; y ++ ) {
284
+ if ( tuple [ y ] . art <= g || btco [ y ] == 1 ) {
285
+ smit . push ( tuple [ y ] . pid ) ;
293
286
}
294
287
}
295
-
296
- // console.log(ind);
297
-
298
- state = ind ;
288
+ que . push ( smit ) ;
299
289
}
300
290
}
301
- que . push ( smit ) ;
291
+ }
292
+ console . log ( que . length ) ;
293
+ for ( var i = 0 ; i < 50 ; i ++ ) {
294
+ console . log ( i + " " + final_ans [ i ] ) ;
302
295
}
303
296
var cmp_time = [ ] ;
304
297
for ( var i = 0 ; i < tuple . length ; i ++ ) {
@@ -313,23 +306,19 @@ export default class Lrtf extends InputTable {
313
306
}
314
307
}
315
308
}
316
- for ( var i = 0 ; i < 50 ; i ++ ) {
317
- console . log ( final_ans [ i ] + " final_ans" ) ;
318
- }
319
309
320
310
var wt = [ ] ;
321
311
322
312
for ( var i = 0 ; i < n ; i ++ ) {
323
- // console.log(cmp_time[i]+" "+tuple_temp[i].art);
324
- tat [ i ] = cmp_time [ i ] - tuple_temp [ i ] . art ;
325
- // console.log(tat[i]+" "+tuple_temp[i].bt);
326
- wt [ i ] = tat [ i ] - tuple_temp [ i ] . bt ;
327
- //console.log(wt[i]);
313
+ tat [ i ] = cmp_time [ i ] - artt [ i ] ;
314
+
315
+ wt [ i ] = tat [ i ] - total_btt [ i ] ;
328
316
}
329
317
for ( var i = 0 ; i < n ; i ++ ) {
330
318
total_wt = total_wt + wt [ i ] ;
331
319
total_tat = total_tat + tat [ i ] ;
332
320
}
321
+ console . log ( total_wt / n + " " + total_tat / n ) ;
333
322
334
323
// Changing Pid into string in final answer array
335
324
for ( var i = 0 ; i < final_ans . length ; i ++ ) {
0 commit comments