@@ -210,95 +210,88 @@ export default class Lrtf extends InputTable {
210210 // console.log(tuple);
211211 }
212212 // 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+
223217 // ];
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 ;
225227 tuple . sort ( function ( a , b ) {
226- if ( a . art == b . art ) {
227- return b . bt - a . bt ;
228- }
229228 return a . art - b . art ;
230229 } ) ;
231230 tuple . sort ( ) ;
232- var tuple_t = tuple ;
233231
234232 var n = tuple . length ;
235233 var wt = [ ] ;
236234 var tat = [ ] ;
237235 var total_wt = 0 ;
238236 var total_tat = 0 ;
239237 var rt = [ ] ;
240-
241238 for ( var i = 0 ; i < n ; i ++ ) {
242239 rt . push ( tuple [ i ] . bt ) ;
243240 }
244- var complete = 0 ,
245- t = 0 ,
246- minm = 9999 ;
247- var shortest = 0 ,
248- finish_time ;
249- var check = false ;
241+
250242 var final_ans = [ ] ;
251- // 1 2 3 4
252- // 2 4 6 8
253- var vis = [ ] ;
243+ var visited = [ ] ;
254244 for ( var i = 0 ; i < tuple . length ; i ++ ) {
255- vis [ i ] = 0 ;
245+ visited [ i ] = 0 ;
256246 }
247+
257248 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+
260254 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 ;
265258 }
266259 }
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 ;
274267 }
275268 }
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 ++ ) {
279277 final_ans . push ( tuple [ state ] . pid ) ;
278+ }
279+ tuple [ state ] . bt -= 1 ;
280280
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 ) ;
293286 }
294287 }
295-
296- // console.log(ind);
297-
298- state = ind ;
288+ que . push ( smit ) ;
299289 }
300290 }
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 ] ) ;
302295 }
303296 var cmp_time = [ ] ;
304297 for ( var i = 0 ; i < tuple . length ; i ++ ) {
@@ -313,23 +306,19 @@ export default class Lrtf extends InputTable {
313306 }
314307 }
315308 }
316- for ( var i = 0 ; i < 50 ; i ++ ) {
317- console . log ( final_ans [ i ] + " final_ans" ) ;
318- }
319309
320310 var wt = [ ] ;
321311
322312 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 ] ;
328316 }
329317 for ( var i = 0 ; i < n ; i ++ ) {
330318 total_wt = total_wt + wt [ i ] ;
331319 total_tat = total_tat + tat [ i ] ;
332320 }
321+ console . log ( total_wt / n + " " + total_tat / n ) ;
333322
334323 // Changing Pid into string in final answer array
335324 for ( var i = 0 ; i < final_ans . length ; i ++ ) {
0 commit comments