Submission details
Task:Number
Sender:Feeniksi
Submission time:2016-10-04 17:11:38 +0300
Language:Java
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.69 sdetails
#2ACCEPTED0.11 sdetails
#3ACCEPTED0.14 sdetails
#4ACCEPTED0.10 sdetails
#5ACCEPTED0.13 sdetails
#6ACCEPTED0.15 sdetails
#7ACCEPTED0.12 sdetails
#8ACCEPTED0.10 sdetails
#9ACCEPTED0.10 sdetails
#10ACCEPTED0.11 sdetails
#11ACCEPTED0.22 sdetails
#12ACCEPTED0.10 sdetails
#13ACCEPTED0.13 sdetails
#14ACCEPTED0.12 sdetails
#15ACCEPTED0.11 sdetails
#16ACCEPTED0.31 sdetails
#17ACCEPTED0.13 sdetails
#18ACCEPTED0.14 sdetails
#19ACCEPTED0.17 sdetails
#20ACCEPTED0.11 sdetails
#21ACCEPTED0.42 sdetails
#22ACCEPTED0.12 sdetails
#23ACCEPTED0.14 sdetails
#24ACCEPTED0.15 sdetails
#25ACCEPTED0.11 sdetails
#26ACCEPTED0.59 sdetails
#27ACCEPTED0.14 sdetails
#28ACCEPTED0.15 sdetails
#29ACCEPTED0.13 sdetails
#30ACCEPTED0.15 sdetails

Code

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author viljampa
 */
public class kilpa51 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        IO io = new IO();
        long x = io.nextLong();
        long a = io.nextLong();
        long b = io.nextLong();
//        long x = 3;
//        long a = 5;
//        long b = 3;
//        long x = 5;
//        long a = 10;
////        long b = 1;
//        long x = 1000000000;
//        long a = 1;
//        long b = 1;

        long summa = 0;
        while (x != 0) {
            if (x % 2 != 0) {
                if (a < ((x+1) / 2) * b) {
                    x /= 2;
                    summa += a;
                } else {
                    x--;
                    summa += b;
                }
            } else if (a < (x / 2) * b) {
                x /= 2;
                summa += a;
            } else {
                x--;
                summa += b;
            }
        }
        
        io.println(summa);
//	String a = io.next(); // Lukee seuraavan välein erotellun merkkijonon.
//	int b = io.nextInt(); // Lukee seuraavan välein erotellun int-kokonaisluvun.
//	long c = io.nextLong(); // Lukee seuraavan välein erotellun long-kokonaisluvun.
//	double d = io.nextDouble(); // Lukee seuraavan välein erotellun double-liukuluvun.

        // Toimii kuten System.out.println.
//	io.println("Annoit syötteenä " + a + " " + b + " " + c + " " + d);
        io.close(); // TÄYTYY KUTSUA LOPUKSI, muuten tuloste voi jäädä kirjoittamatta
    }

}

Test details

Test 1

Verdict: ACCEPTED

input
804289384 846930887 8

correct output
3302440542

user output
3302440542

Test 2

Verdict: ACCEPTED

input
714636916 957747794 424238336

correct output
27665414904

user output
27665414904

Test 3

Verdict: ACCEPTED

input
719885387 3 10

correct output
90

user output
90

Test 4

Verdict: ACCEPTED

input
189641422 189641422 189641422

correct output
5309959816

user output
5309959816

Test 5

Verdict: ACCEPTED

input
25202363 8 783368691

correct output
200

user output
200

Test 6

Verdict: ACCEPTED

input
102520060 44897764 7

correct output
224398341

user output
224398341

Test 7

Verdict: ACCEPTED

input
365180541 540383427 304089173

correct output
15198530875

user output
15198530875

Test 8

Verdict: ACCEPTED

input
303455737 2 9

correct output
58

user output
58

Test 9

Verdict: ACCEPTED

input
294702568 294702568 294702568

correct output
8546374472

user output
8546374472

Test 10

Verdict: ACCEPTED

input
726956430 3 861021531

correct output
90

user output
90

Test 11

Verdict: ACCEPTED

input
278722863 233665124 8

correct output
979718228

user output
979718228

Test 12

Verdict: ACCEPTED

input
468703136 101513930 801979803

correct output
2943903970

user output
2943903970

Test 13

Verdict: ACCEPTED

input
315634023 9 10

correct output
261

user output
261

Test 14

Verdict: ACCEPTED

input
125898168 125898168 125898168

correct output
3399250536

user output
3399250536

Test 15

Verdict: ACCEPTED

input
59961394 7 628175012

correct output
182

user output
182

Test 16

Verdict: ACCEPTED

input
656478043 131176230 4

correct output
688824428

user output
688824428

Test 17

Verdict: ACCEPTED

input
859484422 914544920 608413785

correct output
27130216465

user output
27130216465

Test 18

Verdict: ACCEPTED

input
756898538 9 5

correct output
262

user output
262

Test 19

Verdict: ACCEPTED

input
149798316 149798316 149798316

correct output
4194352848

user output
4194352848

Test 20

Verdict: ACCEPTED

input
38664371 4 184803527

correct output
104

user output
104

Test 21

Verdict: ACCEPTED

input
412776092 424268981 7

correct output
1570896123

user output
1570896123

Test 22

Verdict: ACCEPTED

input
749241874 137806863 42999171

correct output
3935781156

user output
3935781156

Test 23

Verdict: ACCEPTED

input
982906997 2 6

correct output
60

user output
60

Test 24

Verdict: ACCEPTED

input
84420926 84420926 84420926

correct output
2279365002

user output
2279365002

Test 25

Verdict: ACCEPTED

input
937477085 8 572660337

correct output
240

user output
240

Test 26

Verdict: ACCEPTED

input
159126506 805750847 10

correct output
1591265060

user output
1591265060

Test 27

Verdict: ACCEPTED

input
100661314 433925858 141616125

correct output
11122301217

user output
11122301217

Test 28

Verdict: ACCEPTED

input
84353896 3 6

correct output
81

user output
81

Test 29

Verdict: ACCEPTED

input
998898815 998898815 998898815

correct output
29966964450

user output
29966964450

Test 30

Verdict: ACCEPTED

input
548233368 5 585990365

correct output
150

user output
150