这是问题
问题陈述: 你在超市里想买N件,但你只有S美元。
输入格式: 前两个数字N(项目数)和S(您拥有的美元数量)后跟N个整数表示每个项目的价格 N是小于或等于1,000,000的正整数 0< S< 1000000001 所有价格均低于1,000,001
输出格式: 打印"是"如果物品的总价格小于或等于S并打印"否"否则。
示例输入: 6 100 8 31 4 12 19 2
示例输出: 是
注意: 8 + 31 + 4 + 12 + 19 + 2 = 76
76< 100
然后"是"你可以买它们
这是我的代码:
#include <iostream>
using namespace std;
int main()
{
int N,S;
cin >> N >> S;
int sum=0;
int numslist[N];
for (int i=0; i<N; i++)
{
cin>>numslist[i];
sum=sum+numslist[i];
}
if(sum<=S)
cout << "No" << endl;
else if(sum>S)
cout << "Yes" << endl;
return 0;
}
我提交本“准则”和“在线评判”,并说出错误答案Website
请任何人帮帮我说出错是什么意思?
答案 0 :(得分:0)
您不能声明一个只在运行时已知的大小的数组,它必须在编译时知道(忽略编译器扩展)。所以你不能这样做
int N;
cin >> N;
int numslist[N];
相反,你可以做到
int N;
cin >> N;
vector<int> numslist(N);