# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
94126 | fjzzq2002 | Last supper (IOI12_supper) | C++14 | 76 ms | 10712 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 "advisor.h"
#include <bits/stdc++.h>
using namespace std;
#define SZ 222222
typedef pair<int,int> pii;
#define fi first
#define se second
int d[SZ],e[SZ],f[SZ],ns[SZ],ts[SZ];
void ComputeAdvice(int *C,int N,int K,int M)
{
for(int i=0;i<N;++i) f[i]=-1,ts[i]=2e9;
for(int i=0;i<N+K;++i)
{
if(i<K) d[i]=i;
else d[i]=C[i-K];
}
for(int i=N+K-1;i>=0;--i)
ns[i]=ts[d[i]],ts[d[i]]=i;
priority_queue<pii> pq,eq;
for(int i=0;i<K;++i)
pq.push(pii(2e9+i,-1));
for(int i=0;i<N+K;++i)
{
while(pq.size()&&eq.size()&&pq.top()==eq.top())
pq.pop(),eq.pop();
int x=d[i];
if(~f[x])
eq.push(pii(i,f[x]));
else
{
# | 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... |