#include "meetings.h"
#include <bits/stdc++.h>
using namespace std;
int cl_r[100005],cl_l[100005];
vector<long long> minimum_costs(vector<int> H, vector<int> L,vector<int> R) {
int last=-1;
for (int i = H.size()-1; i >= 0; --i)
{
if(H[i]==1&&(i==(int)(H.size()-1)||H[i+1]==2))
last=i;
//if(last==-1)cl_l
if(H[i]==2)cl_r[i]=-1;
else cl_r[i]=last;
}
/*for (int i = 0; i < H.size(); ++i)
{
cout<<cl_r[i]<<" ";
}*/
//cout<<"\n";
last=-1;
for (int i = 0; i < (int)H.size(); ++i)
{
if(H[i]==1&&(i==0||H[i-1]==2))
last=i;
if(H[i]==2)cl_l[i]=-1;
else cl_l[i]=last;
//cout<<cl_l[i]<<" ";
}
//cout<<"\n";
int Q = L.size();
vector<long long> C(Q);
for (int i = 0; i < Q; ++i)
{
//C[i]=min(cl_r)
C[i]=(int)(1e9);
if(H[R[i]]==2&&H[L[i]]==2){C[i]=min(C[i],2LL*(R[i]-L[i]+1));continue;}
if(cl_r[L[i]]!=-1&&cl_r[L[i]]<=R[i])
C[i]=min(C[i],cl_r[L[i]]-L[i]+1LL+(2LL*(R[i]-cl_r[L[i]])));
if(cl_l[R[i]]!=-1&&cl_l[R[i]]>=L[i])
C[i]=min(C[i],R[i]-cl_l[R[i]]+1LL+(2LL*(cl_l[R[i]]-L[i])));
}
return C;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
380 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
380 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Incorrect |
24 ms |
1688 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Incorrect |
24 ms |
1688 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
380 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |