<?php
// your code goes here
$initData = [
['id'=>1,'amount'=>10],
['id'=>2,'amount'=>8],
['id'=>3,'amount'=>7],
['id'=>4,'amount'=>9],
['id'=>5,'amount'=>8],
['id'=>6,'amount'=>11],
['id'=>7,'amount'=>8],
['id'=>8,'amount'=>9],
];
$res1 =[]; // to insert
$res2 = []; //to insert total
$total = 0;
$i=1;
foreach($initData as $row){
if($total+$row['amount']>20) {
$res2[] = ['i'=>$i,'total'=>$total];
foreach($tempArr as $data){
$res1[] = $data;
}
$i++;
$tempArr = [];
$total = 0;
}
$total += $row['amount'];
$row['i'] = $i;
$tempArr[] = $row;
}
if($total>0) {
$res2[] = ['i'=>$i,'total'=>$total];
foreach($tempArr as $data){
$res1[] = $data;
}
}
PD9waHAKCi8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCiRpbml0RGF0YSA9IFsKCVsnaWQnPT4xLCdhbW91bnQnPT4xMF0sCglbJ2lkJz0+MiwnYW1vdW50Jz0+OF0sCglbJ2lkJz0+MywnYW1vdW50Jz0+N10sCglbJ2lkJz0+NCwnYW1vdW50Jz0+OV0sCglbJ2lkJz0+NSwnYW1vdW50Jz0+OF0sCglbJ2lkJz0+NiwnYW1vdW50Jz0+MTFdLAoJWydpZCc9PjcsJ2Ftb3VudCc9PjhdLAoJWydpZCc9PjgsJ2Ftb3VudCc9PjldLAoJXTsKCQokcmVzMSA9W107IC8vIHRvIGluc2VydAokcmVzMiA9IFtdOyAvL3RvIGluc2VydCB0b3RhbAoKJHRvdGFsID0gMDsKJGk9MTsKZm9yZWFjaCgkaW5pdERhdGEgYXMgJHJvdyl7CglpZigkdG90YWwrJHJvd1snYW1vdW50J10+MjApIHsKCQkkcmVzMltdID0gWydpJz0+JGksJ3RvdGFsJz0+JHRvdGFsXTsKCQlmb3JlYWNoKCR0ZW1wQXJyIGFzICRkYXRhKXsKCQkJJHJlczFbXSA9ICRkYXRhOwoJCX0KCQkkaSsrOwoJCSR0ZW1wQXJyID0gW107CgkJJHRvdGFsID0gMDsKCX0gCgkkdG90YWwgKz0gJHJvd1snYW1vdW50J107Cgkkcm93WydpJ10gPSAkaTsKCSR0ZW1wQXJyW10gPSAkcm93Owp9CglpZigkdG90YWw+MCkgewoJCSRyZXMyW10gPSBbJ2knPT4kaSwndG90YWwnPT4kdG90YWxdOwoJCWZvcmVhY2goJHRlbXBBcnIgYXMgJGRhdGEpewoJCQkkcmVzMVtdID0gJGRhdGE7CgkJfQoJCQoJfSAKCQoJcHJpbnRfcigkcmVzMSk7CglwcmludF9yKCRyZXMyKTs=