EQ - Electronic queue
Tác giả: RR
Ngôn ngữ: Pascal
{$MODE OBJFPC}
uses math;
const
FINP = '';
FOUT = '';
MAXN = 55;
var
f1,f2 : text;
n,test,p : longint;
free : array[1..MAXN] of longint;
res : int64;
a,b : longint;
procedure update(a,b:longint);
var
i,nn:longint;
begin
nn:=1;
for i:=2 to n do
if free[i]<free[nn] then nn:=i;
if free[nn]<a then res:=res+b
else res:=res+free[nn]-a+b;
free[nn]:=max(free[nn],a)+b;
end;
begin
assign(f1,FINP); reset(f1);
assign(f2,FOUT); rewrite(f2);
read(f1,test);
for test:=1 to test do
begin
fillchar(free,sizeof(free),0);
read(f1,n,p);
res:=0;
for p:=1 to p do
begin
read(f1,a,b); inc(b,5);
update(a,b);
end;
writeln(f2,res);
end;
close(f1); close(f2);
end.