Cod sursa(job #1181780)

Utilizator testtVasilica Ionica testt Data 3 mai 2014 17:34:03
Problema Mins Scor 95
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.01 kb
const def=-1000000;
var i,j:longint;
    a:array[0..1000005]of longint;
    h,sum,val,n,m,min:int64;

begin
  assign(input,'mins.in'); reset(input);
  assign(output,'mins.out'); rewrite(output);

  readln(n,m); dec(n); dec(m);

  if n < m then min := n else min := m;

  //for i := 1 to min do a[i] := 0;
  for i := 2 to min do
  begin
    if a[i] = 0 then
    begin
      a[i] := 1;
      h := min div i;
      for j := 2 to h do begin {writeln(i,' ',j,a[i*j]);} inc(a[i*j]);end;

      h := i; h := h*h;
      h := min div h;
      for j := 1 to h do a[i*i*j] := def;

      val := (n div i)*(m div i);
      if a[i] and 1 = 0 then val := -val;
      //writeln(i,' ',a[i],' ',val);
      sum := sum + val;
    end
    else
    if a[i] > 0 then
    begin
      val := (n div i)*(m div i);
      if a[i] and 1 = 0 then val := -val;
      //writeln(i,' ',a[i],' ',val);
      sum := sum + val;
    end;

  end;

  sum := n*m - sum;
  writeln(sum);


  close(input);
  close(output);
end.