Cod sursa(job #1849895)

Utilizator DjokValeriu Motroi Djok Data 17 ianuarie 2017 22:31:08
Problema Pascal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>
using namespace std;

int i, n, d, rs, nr[5000005];

int cnt(int x) {
  if(nr[x] != -1) return nr[x];

  int ans = 0, y = d;
  while(x >= y) ans += x / y, y *= d;

  nr[x] = ans;

  return nr[x];
}

int main()
{
  ifstream cin("pascal.in");
  ofstream cout("pascal.out");
  ios_base::sync_with_stdio(0);

  memset(nr, -1, sizeof(nr));

  cin >> n >> d;

  for(i = 1; i <= n; ++i)
    if(cnt(n) - cnt(i) - cnt(n - i) > 0) ++rs;

  cout << rs << '\n';

  return 0;
}