Cod sursa(job #46353)
Utilizator | Data | 2 aprilie 2007 16:22:27 | |
---|---|---|---|
Problema | Oo | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 4.03 kb |
var f1,f2:text;
q,s,n,i:longint;
err:integer;
a:array[1..100000] of longint;
x:char;
begin
assign(f1,'oo.in');
assign(f2,'oo.out');
reset(f1);
rewrite(f2);
readln(f1,n);
for i:=1 to n do
begin
read(f1,x);
val(x,q,err);
a[i]:=q;
read(f1,x);
end;
s:=0;
i:=0;
while i<n-3 do
begin
i:=i+1;
if i<=2 then
begin
if (i=1) then begin
if(a[1]+a[2]>a[3]+a[4]) and
(a[1]+a[2]>a[n]+a[n-1]) then begin
s:=s+a[1]+a[2];
a[1]:=0;
a[2]:=0;
a[3]:=0;
a[n]:=0;
end;
end
else begin
if (a[2]+a[3]>a[n]+a[1]) and
(a[2]+a[3]>a[4]+a[5]) then begin
s:=s+a[2]+a[3];
a[1]:=0;
a[2]:=0;
a[3]:=0;
a[4]:=0;
end;
end;
end
else if i>=n-1 then
begin
if i=n-1 then begin
if (a[n-1]+a[n]>a[1]+a[2]) and
(a[n-1]+a[n]>a[n-2]+a[n-3]) then
begin
s:=s+a[n-1]+a[n];
a[n-2]:=0;
a[n-1]:=0;
a[n]:=0;
a[1]:=0;
end;
end
else begin
if (a[n]+a[1]>a[2]+a[3]) and
(a[n]+a[1]>a[n-1]+a[n-2]) then
begin
s:=s+a[n]+a[1];
a[n]:=0;
a[1]:=0;
a[n-1]:=0;
a[2]:=0;
end;
end;
end
else
begin
if (a[i]+a[i+1]>a[i+2]+a[i+3]) and
(a[i]+a[i+1]>a[i-1]+a[i-2]) then
begin
s:=s+a[i]+a[i+1];
a[i]:=0;
a[i+1]:=0;
a[i-1]:=0;
a[i+2]:=0;
end;
end;
end;
writeln(f2,s);
close(f1);
close(f2);
end.