Cod sursa(job #1607332)

Utilizator cristina_borzaCristina Borza cristina_borza Data 20 februarie 2016 23:40:38
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <cstdio>

#define NMAX 5000005

using namespace std;

int sum , p , sol , n , d;
int v[NMAX];

void read(int &x) {
    int sign = 1;
    char ch;

    while(!isdigit(ch = getchar())) {
        if(ch == '-') {
            sign = -1;
        }

        else {
            sign = 1;
        }
    }

    do {
        x = x * 10 + ch - '0';
    }while(isdigit(ch = getchar()));

    x *= sign;
}

int main() {
    freopen("pascal.in" , "r" , stdin);
    freopen("pascal.out" , "w" , stdout);

    read(n) , read(d);

    for(int i = 1 ; i <= n ; ++i) {
        if(i % d == 0) {
            v[i] = v[i / d] + 1;
        }

        sum += v[i];
    }

    p = sum;
    for(int i = 1 ; i <= n ; ++i) {
        p = p + v[i] - v[n - i + 1];
        if(p != sum) {
            ++sol;
        }
    }

    printf("%d" , sol);
    return 0;
}