Listing AUTO.PAS 
Program Auto; 
const MaxN=1000; 
an=365; 
var k,m,n,solutie:Integer; 
solicit:array[1..MaxN] of 
record 
a,b:Integer 
end; 
Procedure Citire; 
var fi:Text; 
i,x:Integer; 
begin 
Assign(fi,'AUTO.IN'); 
Reset(fi); 
Readln(fi,N); 
for i:=1 to N do 
Readln(fi,solicit[i].a,solicit[i].b); 
Close(fi) 
end; 
Procedure Scrie_rezultate; 
var fo:Text; 
begin 
Assign(fo,'AUTO.OUT'); 
Rewrite(fo); 
Writeln(fo,solutie); 
Close(fo) 
end; 
Procedure Calculeaza; 
var f:array[0..an] of Word; 
i,j,max,nou:Integer; 
begin 
f[0]:=0;บบบบ 
for i:=1 to an do 
begin 
max:=f[i-1]; 
for j:=1 to n do 
if solicit[j].b=i 
then 
begin 
nou:=f[solicit[j].a-1]+ 
solicit[j].b-solicit[j].a+1; 
if nou>max then max:=nou 
end; 
f[i]:=max 
end; 
solutie:=f[an] 
end; 
Begin 
Citire; 
Calculeaza; 
Scrie_rezultate 
End.