Cod sursa(job #2197558)

Utilizator YusyBossFares Yusuf YusyBoss Data 22 aprilie 2018 14:51:30
Problema Mins Scor 5
Compilator c Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

char ciur[1000006];
long long cnt(int x, int c, int d) {
  return 1ll * ((c - 1) / x) * ((d - 1) / x);
}

int main() {
  FILE *fin, *fout;
  fin = fopen("mins.in", "r");
  fout = fopen("mins.out", "w");
  int c, d, i, j;
  long long sol;
  fscanf(fin, "%d%d", &c, &d);
  sol = 0;
  for (i = 2; i <= 1000000; i++) {
    if (ciur[i] == 0) {
      for (j = 2 * i; j <= 1000000; j += i)
        ciur[j]++;
      sol += cnt(i, c, d);
    }
    else
      sol -= cnt(i, c, d) * (ciur[i] - 1);
  }
  fprintf(fout, "%lld", 1ll * (c - 1) * (d - 1) - sol);
  return 0;
}