HackerRank Drawing Book Problem Solution

 


HackerRank Drawing Book Problem Solution in C

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main(){
    int n; 
    scanf("%d",&n);
    int p; 
    scanf("%d",&p);
    if(n-p>p)
        printf("%d",(p/2));
    else
        printf("%d",((n-p)/2));
    return 0;
}

HackerRank Drawing Book Problem Solution in JavaScript

process.stdin.resume();
process.stdin.setEncoding('ascii');

var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;

process.stdin.on('data', function (data) {
    input_stdin += data;
});

process.stdin.on('end', function () {
    input_stdin_array = input_stdin.split("\n");
    main();    
});

function readLine() {
    return input_stdin_array[input_currentline++];
}

/////////////// ignore above this line ////////////////////

function solve(n, p){
    //determine the target page position in # of turns from front
    let targetNumTurns = Math.floor(p/2);
    //determine end of book in # of turns from font
    let endNumTurns = Math.floor(n/2);
    //return optimal strategy
    //console.log(targetNumTurns);
    //console.log(endNumTurns);
    return Math.min(targetNumTurns, (endNumTurns - targetNumTurns));
}

function main() {
    var n = parseInt(readLine());
    var p = parseInt(readLine());
    var result = solve(n, p);
    process.stdout.write(""+result+"\n");

}

HackerRank Drawing Book Problem Solution in Python

#!/bin/python3

import sys
n = int(input().strip())
p = int(input().strip())
def do_that(n,k):
    if n%2==1:
        print(min(k//2,(n-k)//2))
    else:
        print(min(k//2,(n+1-k)//2))
do_that(n,p)        

0 Comments