← Back to topics
Topic

Trojke

z
zdravko
can someone check my code?


var
s,i,j,zam,k,b:longint; n:integer;
a:array [1..30000] of longint;
procedure QuickSort(l,r:integer);
var pivot:integer;
begin
if (l<r)
then
begin
pivot:=a[l+random(r+1-l)];
i:=l; j:=r;
repeat
while a[i]<pivot do
i:=i+1;
while (a[j]>pivot) do
j:=j-1;
if i<=j then begin zam:=a[i]; a[i]:=a[j]; a[j]:=zam;
i:=i+1; j:=j-1;
end;
until i>j;
QuickSort(l,j);
QuickSort(i,r);
end
end;
begin
readln(n);
for i:=1 to n do
readln (a[i]);
QuickSort(1,n);
s:=0;
for i:=3 to n+1 do
begin
s:=s+((i-1)*(i-2)*a[i] div 2);
end;
writeln(s mod 10007);
end.
f
fizaaaa
try to put this.....
long long int s,a[10000];
for i:=3 to n+1 do
begin
s:=s+((i-1)*(i-2)*a[i])/2;
s:=s mod 10007
end;
if s < 0
s : = s+10007;
writeln(s);
end.
F
FilipKeri
@fizaaaa
thanks, it helped me too :)