0

Question - A soldier wants to buy w bananas in the shop. He has to pay k dollars for the first banana, 2k dollars for the second one and so on (in other words, he has to pay i·k dollars for the i-th banana).

He has n dollars. How many dollars does he have to borrow from his friend soldier to buy w bananas?

Input - The first line contains three positive integers k, n, w (1  ≤  k, w  ≤  1000, 0 ≤ n ≤ 109), the cost of the first banana, initial number of dollars the soldier has and number of bananas he wants.

Output - Output one integer — the amount of dollars that the soldier must borrow from his friend. If he doesn't have to borrow money, output 0.

Test case input - 3 17 4 Test case output - 13

They have only given 1 example test case unfortunately. CodeForces link - https://codeforces.com/problemset/problem/546/A

My code -

int main()
{
    int k,n,w,s;
    cin >> k >> n >> w;
    for(int i=1;i<=w;i++){
        s = s+i*k;
    }
    cout << s-n; //line 11
    return 0;
} 

The CodeForces compiler gives output = 543968169. On line 11, that compiler gives error - 'uninitialized value usage'. How do I fix this?

1 Answers1

2

You used the value of the variable s without initializing it.

s is non-static local variable, so it is default-initialized and it means no initialization will be performed for int.

Initialize it to proper value before the loop to fix the problem.

MikeCAT
  • 73,922
  • 11
  • 45
  • 70