This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "meetings.h"
#include<bits/stdc++.h>
using namespace std;
const long long INF = 1e18;
int bSize;
struct node{
long long val, lzVal;
node (long long _val = INF, long long _lzVal = 0){
val = _val, lzVal = _lzVal;
}
node operator + (node a){
return node(min(val, a.val));
}
};
struct query{
int l, r, id;
query (int _l = 0, int _r = 0, int _id = 0){
l = _l, r = _r, id = _id;
}
bool operator < (query a){
if(l / bSize == a.l / bSize) return r < a.r;
return l < a.l;
}
};
vector<long long> minimum_costs(vector<int> H, vector<int> L, vector<int> R){
bSize = sqrt(H.size());
vector<query> qry (L.size());
vector<long long> ans (L.size());
for(int i = 0; i < L.size(); i++){
int a = L[i];
int b = R[i];
ans[i] = INF;
for(int j = a; j <= b; j++){
long long sum = H[j];
long long maxi = H[j];
for(int k = j + 1; k <= b; k++){
maxi = max(maxi, (long long)H[k]);
sum += maxi;
}
maxi = H[j];
for(int k = j - 1; k >= a; k--){
maxi = max(maxi, (long long)H[k]);
sum += maxi;
}
ans[i] = min(ans[i], sum);
}
}
// for(int i = 0; i < L.size(); i++)
// qry[i] = query(L[i], R[i], i);
// sort(qry.begin(), qry.end());
//
// int ini = 0;
// int fim = -1;
// for(int i = 0; i < qry.size(); i++){
// int l = qry[i].l;
// int r = qry[i].r;
// int id = qry[i].id;
// while(fim > r){
// tira(fim);
// fim--;
// }
// while(fim < r){
// fim++;
// add(fim);
// }
// while(ini < l){
// tira(ini);
// ini++;
// }
// while(ini > l){
// ini--;
// add(ini);
// }
// ans[id] = seg[1].val;
// }
return ans;
}
Compilation message (stderr)
meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:35:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
35 | for(int i = 0; i < L.size(); i++){
| ~~^~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |