Cod sursa(job #1429808)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 7 mai 2015 11:10:30
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#define DIM 5000010
using namespace std;

ifstream fin ("pascal.in" );
ofstream fout("pascal.out");

int N, M, i, j, K, ok, D[DIM], S, nr;

void SetUp(){
    fin >> N >> S;
    N ++;
    return;
}

void Divide(int st, int dr){
    int K = dr - st + 1;
    if(K == 1){
        D[st] = 1;
        D[dr] = 1;
        return;
    }
    int i = 0;
    while((1<<i) < K)
        i ++;
    i --;
    int val = K - (1<<i);
    Divide(st, st + val - 1);
    Divide(dr - val + 1, dr);
    return;
}

void Finish(){
    for(i = 1; i <= N; i ++)
        if(nr += !D[i]);
    fout << nr;
    return;
}

int main(){
    SetUp();
    if(S == 2)
        Divide(1, N);
    Finish();
    return 0;
}