43 条题解
-
-2
Baslilon LV 8 @ 2015-06-08 13:49:50
编译成功
Free Pascal Compiler version 2.6.4 [2014/03/06] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling foo.pas
foo.pas(14,7) Warning: Variable "sum" does not seem to be initialized
foo.pas(5,5) Note: Local variable "c" not used
Linking foo.exe
27 lines compiled, 0.1 sec , 28256 bytes code, 1628 bytes data
1 warning(s) issued
1 note(s) issued
测试数据 #0: RuntimeError, time = 0 ms, mem = 8640 KiB, score = 0
测试数据 #1: RuntimeError, time = 0 ms, mem = 8640 KiB, score = 0
测试数据 #2: RuntimeError, time = 15 ms, mem = 8636 KiB, score = 0
测试数据 #3: RuntimeError, time = 281 ms, mem = 8636 KiB, score = 0
测试数据 #4: TimeLimitExceeded, time = 1015 ms, mem = 8640 KiB, score = 0
测试数据 #5: TimeLimitExceeded, time = 1015 ms, mem = 8640 KiB, score = 0
测试数据 #6: TimeLimitExceeded, time = 1015 ms, mem = 8636 KiB, score = 0
测试数据 #7: WrongAnswer, time = 375 ms, mem = 8640 KiB, score = 0
测试数据 #8: WrongAnswer, time = 578 ms, mem = 8636 KiB, score = 0
测试数据 #9: WrongAnswer, time = 843 ms, mem = 8636 KiB, score = 0
TimeLimitExceeded, time = 5137 ms, mem = 8640 KiB, score = 0
代码
program nihaowoshituerbi;
var
a:array[0..10000,0..100,1..2] of longint;
b:array[0..100] of longint;
i,j,c,d,n,m,k,now,sum:longint;
begin
read(n,m);
for i:=1 to n do
for j:=0 to m-1 do
read(a[i,j,1],a[i,j,2]);
read(now);
for i:=1 to n do
begin
sum:=(sum+a[i,now,2]) mod 20123;
d:=a[i,now,2];
k:=0;
for j:=now to m-1 do
if a[i,j,1]=1 then begin inc(k);b[k]:=j;
end;
for j:=0 to now-1 do
if a[i,j,1]=1 then begin inc(k);b[k]:=j;
end;
d:=d mod k;
if d=0 then d:=k;
now:=b[d];
end;
write(sum);
end. -
-22013-07-30 12:02:53@
var
a,b,c:array[0..200000,1..3] of longint;
i,n,r,q,j:longint;
procedure kp(r,l:longint);
var
i,j,k1,k2:longint;
begin
i:=r;
j:=l;
k1:=a[(i+j) shr 1,1];
k2:=a[(i+j) shr 1,3];
while i<=j do begin
while (a[i,1]>k1) or (a[i,1]=k1) and (a[i,3]<k2) do inc(i);
while (a[j,1]<k1) or (a[j,1]=k1) and (a[j,3]>k2) do dec(j);
if i<=j then begin
a[0]:=a[i];
a[i]:=a[j];
a[j]:=a[0];
inc(i);
dec(j);
end;
end;
if i<l then kp(i,l);
if r<j then kp(r,j);
end;
procedure ys;
var
t,k,j:longint;
begin
i:=1;
j:=1;
t:=0;
while (i<n) or (j<n) do begin
if i>n then begin
for k:=j to n do begin
inc(t);
a[t]:=c[k];
end;
exit;
end;
if j>n then begin
for k:=i to n do begin
inc(t);
a[t]:=b[k];
end;
exit;
end;
if (b[i,1]<c[j,1]) or (b[i,1]=c[j,1]) and (b[i,3]>c[j,3]) then begin
inc(t);
a[t]:=c[j];
inc(j);
end else begin
inc(t);
a[t]:=b[i];
inc(i);
end;
end;
end;
begin
readln(n,r,q);
for i:=1 to n*2 do begin
read(a[i,1]);
a[i,3]:=i;
end;
for i:=1 to 2*n do read(a[i,2]);
kp(1,2*n);
for j:=1 to r do begin
for i:=1 to n do if a[i*2,2]>a[i*2-1,2] then begin
inc(a[i*2,1]);
b[i]:=a[i*2];
c[i]:=a[i*2-1];
end else begin
inc(a[i*2-1,1]);
b[i]:=a[i*2-1];
c[i]:=a[i*2];
end;
ys;
end;
writeln(a[q,3]);
end. -
-32012-11-09 08:20:30@
目测是道很难的题目。。。。。。。
点这里查看程序源码+详细题解