比赛 20110916 评测结果 AAWWWWWWWW
题目名称 盛大的 Farm-off 最终得分 20
用户昵称 wo shi 刘畅 运行时间 2.234 s
代码语言 Pascal 内存使用 15.42 MiB
提交时间 2011-09-16 20:44:40
显示代码纯文本
var
  n,a,b,c,d,e,f,g,h,m,ans:int64;
  i:longint;
  w,u:array[0..1000000]of int64;

procedure sort(l,r:longint);
var
  i,j:longint;
  x,y,z:int64;
begin
  i:=l;
  j:=r;
  x:=u[(l+r) div 2];
  y:=w[(l+r) div 2];
  repeat
    while (u[i]>x)or((u[i]=x)and(w[i]<y)) do inc(i);
    while (u[j]<x)or((u[j]=x)and(w[j]>y)) do dec(j);
    if i<=j then
    begin
      z:=u[i];
      u[i]:=u[j];
      u[j]:=z;

      z:=w[i];
      w[i]:=w[j];
      w[j]:=z;

      inc(i);
      dec(j);
    end;
  until i>j;
  if i<r then sort(i,r);
  if l<j then sort(l,j);
end;

begin
  assign(input,'farmoff.in'); reset(input);
  assign(output,'farmoff.out'); rewrite(output);
  readln(n,a,b,c,d,e,f,g,h,m);
  for i:=0 to n*3-1 do
  begin
    w[i]:=((a mod d)*(i mod d)*(i mod d)*(i mod d)*(i mod d)*(i mod d)+(b mod d)*(i mod d)*(i mod d)+(c mod d)) mod d;
    u[i]:=((e mod d)*(i mod d)*(i mod d)*(i mod d)*(i mod d)*(i mod d)+(f mod d)*(i mod d)*(i mod d)*(i mod d)+(g mod d)) mod h;
  end;
  sort(1,n*3);
  ans:=0;
  for i:=1 to n do ans:=(ans+w[i]) mod m;
  writeln(ans);
  close(input);
  close(output);
end.