Ho provato a fare alcune prove e il programma sembra funzionare. non riesco a trovare l’errore. Gli errori che riscontro dal portare sono per via del tempo e alcuni output non corretti
#include <numeric>
#include <vector>
#include <algorithm>
using namespace std;
vector<long long>v;
void init(vector<long long> a) {
v=a;
}
long long get_sum(int l, int r) {
return accumulate(v.begin()+l, v.begin()+r, 0);
}
void add(int l, int r, long long x) {
for(vector<long long>::iterator it = v.begin()+l; it<v.begin()+r; ++it){
*it+=x;
}
}
void set_range(int l, int r, long long x) {
for(vector<long long>::iterator it = v.begin()+l; it<v.begin()+r; ++it){
*it=x;
}
}
long long get_min(int l, int r) {
return *min_element(v.begin()+l, v.begin()+r);
}
int lower_bound(int l, int r, long long x) {
for(int i=l; i<r; i++){
if(v[i]<=x){
return i;
}
}
return -1;
}