You are not logged in. Please login at www.codechef.com to post your questions!

×

CUTSTICK - EDITORIAL

PROBLEM LINK: Practice

Author: Rupanjan Hari

Tester: Rupanjan Hari

DIFFICULTY : Easy

PREREQUISITES : Math

QUICK EXPLANATION

You are given N sticks, where the length of each stick is a positive integer. A cut operation is performed on the sticks such that all of them are reduced by the length of the smallest stick. Suppose we have six sticks of the following lengths: 5 4 4 2 2 8 Then, in one cut operation we make a cut of length 2 from each of the six sticks. For the next cut operation four sticks are left (of non-zero length), whose lengths are the following: 3 2 2 6 The above step is repeated until no sticks are left. Given the length of N sticks, print the number of sticks that are left before each subsequent cut operations. Note: For each cut operation, you have to recalculate the length of smallest sticks (excluding zero-length sticks).

EXPLANATION

To make the problem look easy, I have divided the program into functions of appropriate name.

Arrays:

arr[] - Primary array that receives the input size of each stick tag[] - The array that keeps a count on which sticks are being cut, once cut the tag[index] value changes to 1 otherwise 0

Functions:

void cut(int a[],int n,int tag[]) - Cuts the sticks with the minimum value in the primary array that it receives through a[]. int min(int a[],int n,int tag[]) - Finds the minimum size among all the sticks. void count(int a[],int n) - Counts the no. of sticks cut. int equal(int a[], int n) - Operates the loop until all sticks are cut.

SOLUTION: click here to see the solution

This question is marked "community wiki".

asked 12 Oct '16, 22:18

hrupanjan's gravatar image

0★hrupanjan
41
accept rate: 0%

edited 04 Jan '17, 13:55

admin's gravatar image

0★admin ♦♦
19.8k350498541

toggle preview
Preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported
  • mathemetical formulas in Latex between $ symbol

Question tags:

×15,631
×3,741
×874
×213
×2

question asked: 12 Oct '16, 22:18

question was seen: 821 times

last updated: 04 Jan '17, 13:55