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;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define ll long long
const ll inf=1e18;
std::vector<long long> __attribute__((optimize("O3","unroll-loops"),
target("arch=sandybridge"),
target("avx,avx2,fma"))) minimum_costs(std::vector<int> H, std::vector<int> L,
std::vector<int> R) {
ll n=H.size();
ll q=L.size();
vector<ll> ans;
int *h,*l,*r;
h=new int[n];
l=new int[q];
r=new int[q];
for (int i=0;i<n;i++) h[i]=H[i];
for (int i=0;i<q;i++) l[i]=L[i];
for (int i=0;i<q;i++) r[i]=R[i];
for (int i=0;i<q;i++){
int tot=0,cnt=0;
for (int j=l[i];j<=r[i];j++){
cnt+=2-h[j];
if (tot<cnt) tot=cnt;
if (h[j]==2) cnt=0;
}
if (tot<cnt) tot=cnt;
ans.emplace_back((r[i]-l[i]+1)*2-tot);
}
return ans;
}
# | 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... |