# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
790706 | Amylopectin | Meetings (IOI18_meetings) | C++14 | 5553 ms | 4500 KiB |
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 <vector>
#include <algorithm>
using namespace std;
const long long mxn = 1e6 + 10,mxi = 1e9 + 10;
long long hei[mxn] = {}, pos[mxn] = {},val[mxn] = {},h[mxn] = {};
vector <long long> ans;
long long fimi(long long l,long long r)
{
if(l < r)
{
return l;
}
return r;
}
long long fima(long long l,long long r)
{
if(l > r)
{
return l;
}
return r;
}
std::vector<long long> minimum_costs(std::vector<int> hh, std::vector<int> ll,
std::vector<int> rr) {
long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
n = hh.size();
q = ll.size();
for(i=0; i<n; i++)
{
h[i] = hh[i];
}
for(i=0; i<q; i++)
{
ru = 0;
cmi = -1;
cva = 0;
hei[0] = mxi;
pos[0] = ll[i]-1;
for(j=ll[i]; j<=rr[i]; j++)
{
cpo = j-1;
while(ru > 0 && hei[ru] <= h[j])
{
cva -= (hei[ru] * (pos[ru] - pos[ru-1]));
ru --;
}
ru ++;
hei[ru] = h[j];
pos[ru] = j;
cva += hei[ru] * (pos[ru] - pos[ru-1]);
val[j] = cva;
}
ru = 0;
cva = 0;
hei[0] = mxi;
pos[0] = rr[i]+1;
for(j=rr[i]; j>=ll[i]; j--)
{
cpo = j+1;
while(ru > 0 && hei[ru] <= h[j])
{
cva -= (hei[ru] * (pos[ru-1] - pos[ru]));
ru --;
}
ru ++;
hei[ru] = h[j];
pos[ru] = j;
cva += hei[ru] * (pos[ru-1] - pos[ru]);
if(cmi == -1)
{
cmi = cva + val[j] - h[j];
}
else
{
cmi = fimi(cmi,cva + val[j] - h[j]);
}
}
ans.push_back(cmi);
}
return ans;
// int Q = L.size();
// std::vector<long long> C(Q);
// for (int j = 0; j < Q; ++j) {
// C[j] = H[L[j]];
// }
// return C;
}
Compilation message (stderr)
# | 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... |