我的 c++ 编译器给出了正确的输出,但是 c++ 的 codeforces 编译器给出了错误的输出

My c++ compiler is giving the correct output but the codeforces compiler for c++ is giving a wrong output

问题 - 一个士兵想在商店里买 w 根香蕉。他必须为第一个香蕉支付 k 美元,为第二个香蕉支付 2k 美元,依此类推(换句话说,他必须为第 i 个香蕉支付 i·k 美元)。

他有n块钱。他要向他的朋友士兵借多少钱才能买w香蕉?

输入 - 第一行包含三个正整数 k, n,⟩w (1 ≤ k,⟩w ≤⟩⟩1000, 0 ≤ n ≤ 109),第一个香蕉的成本,士兵拥有的美元初始数量和他想要的香蕉数量。

输出 - 输出一个整数——士兵必须向他的朋友借钱的金额。如果他不用借钱,输出0。

测试用例输入 - 3 17 4 测试用例输出 - 13

不幸的是,他们只给出了 1 个示例测试用例。 CodeForces link - https://codeforces.com/problemset/problem/546/A

我的代码-

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;
} 

CodeForces 编译器给出输出 = 543968169。 在第 11 行,该编译器给出错误 - 'uninitialized value usage'。 我该如何解决这个问题?

您使用了变量 s 的值,但未对其进行初始化。

s是非静态局部变量,默认初始化,即int.

不会被初始化

在循环之前将其初始化为正确的值以解决问题。