lyh971125 2013-10-24 17:33:00
点我顶贴
收藏
删除
求哪位大牛讲解下
评测只有70
var b,f:array[0..200000]of 0..1000;
a:array[0..50,0..200000]of longint;
i,n,k,p,j,q,l:longint;
s:int64;
begin
assign(input,'a.in');reset(input);
assign(output,'a.out');rewrite(output);
readln(n,k,p);//f 【i】用于存储前【0,i】范围内的旅店有几家满足消费要求
s:=0;f[0]:=0;//a【i,0】表示第i种色调旅店有几家,a【i,j】表示i色调的第j家旅店
for i:=1 to n do
begin
readln(q,b[i]);
inc(a[q,0]);
a[q,a[q,0]]:=i;
if b[i]<=p then b[i]:=1 else b[i]:=0;
f[i]:=f[i-1]+b[i];
end;
for i:=0 to k-1 do
for l:=1 to a[i,0]-1 do
for j:=l+1 to a[i,0] do
if (f[a[i,j]]-f[a[i,l]-1]>0) then
begin
inc(s);
end;
writeln(s);
end.