为何CCEE???

#include <bits/stdc++.h>
using namespace std;
int n,x,q;
vector<int>a,a1;
int main() {
	cin>>n>>q;
	for(int i=1;i<=n;i++){
        cin>>a[i];
        a1[i]=a1[i-1]+a[i];
    }
	for(int i=1;i<=q;i++){
        cin>>x;
		auto hhh=upper_bound(a[0],a[0]+n+1,x);
        cout<<a1[*hhh]<<" ";
	}
}

CE了

autoC++17以上才支持

你看是不是编译器选错了

选对的

有报错信息嘛

image
image

@栗子酱 C++14也可以使用!

要用push_back的吧

啊,那我可能记错了

@栗子酱 不用的

我记得你没定义a(100)之类的话直接引用a[0]是会错的

@连晨皓 我知道哪里错了,你想要求前缀和,但是你的 vector 数组没有提前预留空间

hhh 并不是指针类型,无法对其进行解引用操作。

那咋弄啊

啥意思

额,啊?好像人机发言

照你这么说好像确实

这东西返回的是指针?

你就手写个二分不行吗,我在语法这块也不是很懂。

@连晨皓 不是?你加上预先预留空间就好了呀