//DQBN23 uses math; var n, i, s: longint; res: int64; a, b: array[-7..1000007] of longint; f: array[-7..100007] of boolean; procedure erathos(u: longint); var i, j: longint; begin for i := 1 to u do f[i] := true; f[1] := false; i := 2; while i*i <= u do if f[i] then begin j := 2; while i*j <= u do begin f[i*j] := false; inc(j); end; inc(i); end else inc(i); end; procedure solve(); var p: longint; tam: int64; begin tam := 0; for p := 1 to n do if b[p] = 1 then inc(tam,a[p]); if f[tam] then res := max(res, tam); end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin b[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'dqbn23.inp');reset(input); assign(output,'dqbn23.out');rewrite(output); readln(n); s := 0; for i := 1 to n do begin read(a[i]); inc(s, a[i]); end; res := low(longint); erathos(s); try(1); writeln(res); close(input);close(output); end.
//DQBN22 uses math; var n, i: longint; a, b: array[-7..1000007] of longint; function prime(u: int64): boolean; var j: longint; begin if u <= 1 then exit(false); for j := 2 to trunc(sqrt(u)) do if u mod j = 0 then exit(false); exit(true); end; procedure solve(); var p: longint; tam: int64; begin tam := 0; for p := 1 to n do if b[p] = 1 then inc(tam,a[p]); if prime(tam) = false then exit(); for p := 1 to n do if b[p] = 1 then write(a[p],#32); writeln(); end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin b[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'dqbn22.inp');reset(input); assign(output,'dqbn22.out');rewrite(output); readln(n); for i := 1 to n do read(a[i]); try(1); close(input);close(output); end.
//EMERALD var n, i, s, q: longint; a, b: array[-7..100007] of longint; procedure solve(); var p: longint; tam: int64; begin tam := 0; for p := 1 to n do if b[p] = 1 then begin inc(tam, a[p]); if tam > s div 3 then exit(); end; if tam <> s div 3 then exit(); writeln(tam); q := 1; for p := 1 to n do if b[p] = 1 then write(p,#32); writeln(); end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin if q = 1 then exit(); b[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'emerald.inp');reset(input); assign(output,'emerald.out');rewrite(output); readln(n); s := 0; for i := 1 to n do begin read(a[i]); inc(s, a[i]); end; if s mod 3 <> 0 then writeln(0) else begin q := 0; try(1); end; close(input);close(output); end.
//MODM var n, m, i, g, res, k: longint; a, b, d: array[-7..100007] of longint; procedure solve(); var p, q, h: longint; c: array[-7..100007] of longint; begin k := 0; for p := 1 to n do if b[p] = 1 then begin inc(k); c[k] := a[p]; end; for p := 1 to k-1 do for q := p+1 to k do if (c[p] + c[q]) mod m = 0 then exit(); if k > res then begin res := k; h := 0; for p := 1 to n do if b[p] = 1 then begin inc(h); d[h] := p; end; end; end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin b[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'modm.inp');reset(input); assign(output,'modm.out');rewrite(output); readln(n, m); for i := 1 to n do read(a[i]); try(1); writeln(res); for i := 1 to res do write(d[i],#32); close(input);close(output); end.
//FINANCIAL var n, k, i, res: longint; a, b, g: array[-7..100007] of longint; procedure solve(); var p, d, h: longint; c: array[-7..100007] of longint; begin h := 0;d := 0; for p := 1 to n do if b[p] = 1 then begin inc(d); inc(h); c[h] := a[p]; end; for p := 1 to h-1 do if abs(c[p+1] - c[p]) < k then exit(); if d > res then begin res := d; for p := 1 to res do g[p] := c[p]; end; end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin b[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'financial.inp');reset(input); assign(output,'financial.out');rewrite(output); readln(n, k); for i := 1 to n do read(a[i]); res := low(longint); try(1); writeln(res); for i := 1 to res do write(g[i],#32); close(input);close(output); end.
//BINARY var n, res: longint; s: string; a: array[-7..100007] of longint; procedure solve(); var p, d: longint; sa: string; begin sa := ''; d := 0; for p := 1 to n do if a[p] = 1 then sa := sa + '1' else sa := sa + '0'; while pos(s, sa) > 0 do begin inc(d); if d > 1 then exit(); sa := copy(sa, pos(s, sa) + length(s), length(sa) - pos(s, sa) + length(s)); end; if d = 1 then inc(res); end; procedure try(i: longint); var j: longint; begin for j := 0 to 1 do begin a[i] := j; if i = n then solve() else try(i+1); end; end; begin assign(input,'binary.inp');reset(input); assign(output,'binary.out');rewrite(output); readln(n); readln(s); res := 0; try(1); writeln(res); close(input);close(output); end.
//DQCKN1 var n, k, ii: longint; a: array[-7..100007] of longint; f: array[-7..100007] of boolean; procedure solve(); var p: longint; begin for p := 1 to k do write(a[p],#32); writeln(); end; procedure tryh(i: longint); var j: longint; begin for j := a[i-1]+1 to n-k+i do begin a[i] := j; if i = k then solve() else tryh(i+1); end; end; begin assign(input,'dqckn1.inp');reset(input); assign(output,'dqckn1.out');rewrite(output); readln(n, k); for ii := 1 to n do f[ii] := true; tryh(1); close(input);close(output); end.
//DQCKN2 var n, k, s, i: longint; a, b: array[-7..100007] of longint; procedure solve(); var p: longint; sb: int64; begin sb := 0; for p := 1 to k do begin sb := sb + b[a[p]]; if sb > s then exit(); end; if sb = s then begin for p := 1 to k do write(b[a[p]],#32); writeln(); end; end; procedure tryh(i: longint); var j: longint; begin for j := a[i-1]+1 to n-k+i do begin a[i] := j; if i = n then solve() else tryh(i+1); end; end; begin assign(input,'dqckn2.inp');reset(input); assign(output,'dqckn2.out');rewrite(output); readln(n, k, s); for i := 1 to n do read(b[i]); tryh(1); close(input);close(output); end.
//DQCKN4 uses math; var n, k, ii, res: longint; a, b: array[-7..100007] of longint; function pali(u: longint): boolean; var tam, v: longint; begin tam := 0;v := u; while u > 0 do begin tam := tam * 10 + (u mod 10); u := u div 10; end; exit(v = tam); end; procedure solve(); var p: longint; sa: int64; begin sa := 0; for p := 1 to k do sa := sa + a[b[p]]; if (pali(sa)) then res := max(res, sa); end; procedure tryh(i: longint); var j: longint; begin for j := b[i-1]+1 to n-k+i do begin b[i] := j; if i = k then solve() else tryh(i+1); end; end; begin assign(input,'dqckn4.inp');reset(input); assign(output,'dqckn4.out');rewrite(output); readln(n, k); for ii := 1 to n do read(a[ii]); res := low(longint); tryh(1); writeln(res); close(input);close(output); end.
//DQCKN51 uses math; var n, k, ii, rmin, rmax: longint; a, b: array[-7..100007] of longint; procedure solve(); var p, d1, d2: longint; begin d1 := 0;d2 := 0; for p := 1 to k do if b[a[p]] = rmin then d1 := 1 else if b[a[p]] = rmax then d2 := 1; if (d1 = 1) and (d1 = d2) then begin for p := 1 to k do write(b[a[p]],#32); writeln(); end; end; procedure tryh(i: longint); var j: longint; begin for j := a[i-1]+1 to n-k+i do begin a[i] := j; if i = k then solve() else tryh(i+1); end; end; begin assign(input,'dqckn51.inp');reset(input); assign(output,'dqckn51.out');rewrite(output); readln(n, k); rmax := low(longint); rmin := high(longint); for ii := 1 to n do begin read(b[ii]); rmin := min(rmin, b[ii]); rmax := max(rmax, b[ii]); end; tryh(1); close(input);close(output); end.
[code //xau1 var s1, s: string; d: longint; function dx(u, v: string): longint; var d: longint; begin d := 0; while pos(s1, s) > 0 do begin inc(d); delete(s, 1, pos(s1, s)+length(s1)-1); end; exit(d); end; begin assign(input,'xau1.inp');reset(input); assign(output,'xau1.out');rewrite(output); readln(s1); readln(s); writeln(dx(s1, s)); close(input);close(output); end.
//xau2 var s: string; function kt(u: string): boolean; var z: string; j: longint; begin z := ''; for j := length(u) downto 1 do z := z + u[j]; if z = u then exit(true) else exit(false); end; begin assign(input,'xau2.inp');reset(input); assign(output,'xau2.out');rewrite(output); readln(s); writeln(kt(s)); close(input);close(output); end.
//xau4 var s: string; i: longint; j: char; d: array['a'..'z'] of longint; begin assign(input,'xau4.inp');reset(input); assign(output,'xau4.out');rewrite(output); readln(s); for i := 1 to length(s) do inc(d[s[i]]); for j := 'a' to 'z' do if d[j] <> 0 then writeln(j,#32,d[j]); close(input);close(output); end.
//xau5 var s, tam: string; i, k, t: longint; c: array[-7..100007] of longint; begin assign(input,'xau5.inp');reset(input); assign(output,'xau5.out');rewrite(output); readln(s); k := 0; while i < length(s) do begin inc(i); tam := ''; while s[i] in ['0'..'9'] do begin tam := tam + s[i]; inc(i); end; if tam <> '' then begin inc(k); val(tam, t); c[k] := t; end; end; for i := 1 to k do writeln(c[i],#32); close(input);close(output); end.
//xau6 uses math; var s, tam: string; i, k, t, res: longint; c: array[-7..100007] of longint; begin assign(input,'xau6.inp');reset(input); assign(output,'xau6.out');rewrite(output); readln(s); k := 0; res := low(longint); while i < length(s) do begin inc(i); tam := ''; while s[i] in ['0'..'9'] do begin tam := tam + s[i]; inc(i); end; if tam <> '' then begin inc(k); val(tam, t); c[k] := t; end; end; for i := 1 to k do res := max(res, c[i]); writeln(res); close(input);close(output); end.
//xau7 var s, snen, tam, r: string; i, d: longint; begin assign(input,'xau7.inp');reset(input); assign(output,'xau7.out');rewrite(output); readln(s); i := 0; while i < length(s) do begin inc(i); tam := s[i]; d := 1; while s[i] = s[i+1] do begin inc(d); inc(i); end; str(d, r); snen := snen + tam + r; end; writeln(snen); close(input);close(output); end.
//xau8 var s, tam, sg: string; i, k, t, n, j: longint; c: array[-7..100007] of longint; begin assign(input,'xau8.inp');reset(input); assign(output,'xau8.out');rewrite(output); readln(s); k := 0; sg := ''; while i < length(s) do begin inc(i); tam := ''; while s[i] in ['0'..'9'] do begin tam := tam + s[i]; inc(i); end; if tam <> '' then begin val(tam, n); for j := 1 to n do sg := sg + s[i-length(tam)-1]; end; end; writeln(sg); close(input);close(output); end.
//b10(xau) uses math; var s, s0: string; i, j, res: longint; function kt(u: string): boolean; var p: longint; v: string; begin v := ''; for p := length(u) downto 1 do v := v + u[p]; exit(u = v); end; begin assign(input,'xau10.inp');reset(input); assign(output,'xau10.out');rewrite(output); readln(s); res := low(longint); for i := 1 to length(s) do for j := i to length(s) do begin s0 := copy(s, i, j-i+1); if kt(s0) then res := max(res, j-i+1); end; writeln(res); close(input);close(output); end.
//bai11(xau ki tu) var n, i: longint; s0: string; a: array[-7..1000007] of longint; s: array[-7..1000007] of string; procedure bbs(); var p, q: longint; tam: string; begin for p := 1 to n-1 do for q := p+1 to n do if s[p] < s[q] then begin tam := s[p]; s[p] := s[q]; s[q] := tam; end; end; begin assign(input,'xau11.inp');reset(input); assign(output,'xau11.out');rewrite(output); readln(n); for i := 1 to n do begin read(a[i]); str(a[i], s[i]); end; bbs; s0 := ''; for i := 1 to n do s0 := s0 + s[i]; writeln(s0); close(input);close(output); end.