在 CPP 程序中将变量数据类型从“int”更改为“long”时出错

时间:2021-07-23 13:50:00

标签: c++ vector binary-search

我为这个问题编写了一个解决方案:Kefka and Company,它位于 codeforces 上。 问题链接:https://codeforces.com/problemset/problem/580/B

我制作了一个成对的向量。我使用 for 循环遍历每对向量。我考虑了该对的第一个元素并运行 upper_bound 函数。然后我添加从当前索引到由 upper_bound 提供的索引的对中的所有第二个元素。然后我将答案变量与当前总和进行比较并更新答案变量。

代码:

cd <Path to miniconda or anaconda>\Library\bin>

代码工作正常,并为较小的测试用例提供了正确的结果,但无法处理较大的测试用例。因此,我将“int”数据类型更改为“long”,但出现此错误以及许多其他错误:

let word = "banana";
let letters = "";
for (i of word){
    letters += "A"
}

1 个答案:

答案 0 :(得分:1)

仅当模板参数相同时才支持比较 std::pair

在您的代码中,make_pair(v[i].first+d,INT_MIN) 生成类型 std::pair<long,int>

你可能是说make_pair(v[i].first+d,LONG_MIN)

(See it compile successfully)