. сумма цифр первой половины билетика равна сумме цифр второй половины
. сумма цифр на нечетных позициях равна сумме цифр на четных позициях
. сумма четных цифр билетика равна сумме его нечетных цифр.
Ваша задача — проверить, является ли заданный билетик счастливым.
Формат ввода:
Первая строка входного файла содержит число n (1 <= n <= 5000). Во второй строке содержатся
цифры a1 , a2 , . . . , a2n (0 <= ai <= 9), разделенные пробелами.
Формат вывода:
В выходной файл выведите YES, если билетик счастливый, и NO — в противном случае.
Пример ввода: Пример вывода:
3
2 1 1 1 1 2
—————
3
2 1 1 1 1 3
var
i,n:integer;
sc,snc:longint;
dop:byte;
fin,fout:text;
begin
assign(fin,'in.txt');
reset(fin);
readln(fin,n);
assign(fout,'out.txt');
rewrite(fout);
sc:=0;
snc:=0;
for i:=1 to 2*n do
begin
read(fin,dop);
if odd(i) then inc(snc,dop)
else inc(sc,dop);
end;
close(fin);
if sc=snc then writeln(fout,'ugu')
else
begin
reset(fin);
sc:=0;
snc:=0;
for i:=1 to n do
begin
read(fin,dop);
inc(snc,dop)
end;
for i:=1 to n do
begin
read(fin,dop);
inc(sc,dop)
end;
if sc=snc then writeln(fout,'ugu')
else writeln(fout,'ne ugu');
close(fin);
end;
close(fout);
end.
Вариант 2
var
a:array[-1..10000] of byte;
n,i,sn,s,sh,s5,s4,s1:integer;
begin
assign(input,'ticket3.in');
reset(input);
assign(output,'ticket3.out');
rewrite(output);
readln(n);
inc(n,n);
for i:=1 to n do
begin
read(a[i]);
inc(s,a[i]);
end;
for i:=1 to n do
begin
inc(s4,a[i]);
inc(s5,a[i+1]);
inc(i);
end;
for i:=1 to n div 2 do inc(s1,a[i]);
for i:=1 to n do if odd(a[i]) then inc(sn,a[i]) else inc(sh,a[i]);
if (s-s1=s1)or(s5=s4)or(sn=sh) then writeln('YES') else writeln('NO');
end.