nuggets.pas
来自「Magio牛的usaco源代码」· PAS 代码 · 共 73 行
PAS
73 行
{
ID:maigoak1
PROG:nuggets
}
program nuggets;
const
maxn=10;
max=2000000001;
size=258;
var
fin,fout:text;
content:array[1..maxn]of integer;
ok:array[0..size-1]of boolean;
n,i,j:integer;
p:longint;
flag:boolean;
procedure check;
begin
if ok[(p-1) mod size] then exit;
for i:=0 to content[1]-1 do
if not ok[(p+i) mod size] then exit;
writeln(fout,p-1);
close(fout);
halt;
end;
begin
fillchar(ok,sizeof(ok),0);
assign(fin,'nuggets.in');
reset(fin);
readln(fin,n);
for i:=1 to n do begin
readln(fin,content[i]);
ok[content[i]]:=true;
end;
close(fin);
for i:=1 to n do
for j:=i+1 to n do
if content[i]>content[j] then begin
p:=content[i];content[i]:=content[j];content[j]:=p;
end;
assign(fout,'nuggets.out');
rewrite(fout);
for i:=2 to content[1] do begin
flag:=true;
for j:=1 to n do
if content[j] mod i>0 then begin
flag:=false;
break;
end;
if flag then begin
writeln(fout,0);
close(fout);
halt;
end;
end;
for p:=1 to max do begin
if ok[p mod size] then begin
for i:=1 to n do
ok[(p+content[i]) mod size]:=true;
check;
end;
ok[(p-1) mod size]:=false;
end;
writeln(fout,0);
close(fout);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?