# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
933477 | sleepntsheep | Martian DNA (BOI18_dna) | C++17 | 184 ms | 9268 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<stdio.h>
unsigned X=12345;int rand_(){return(X*=3)>>1;}
#define N 200002
int n,k,rn,a[N],ii[N],ff[N];
#include<set>
#include<utility>
std::set<std::pair<int,int>>ss;
int t;
void add(int i,int k)
{
if(!ii[i])return;
ss.erase({ff[i],i});
ss.insert({ff[i]+=k,i});
}
int main()
{
scanf("%d%d%d",&n,&k,&rn);
for(int i=0;i<n;++i)scanf("%d",a+i);
for(int b,q;rn--;)
scanf("%d%d",&b,&q),ss.insert({-q,b}),ii[b]=1,ff[b]=-q;
int l=0,r=0,z=1e9;
while(l<n)
{
while(r<=l)add(a[r++],1);
while(ss.begin()->first<0&&r<n)add(a[r++],1);
if(ss.begin()->first>=0&&z>r-l)z=r-l;
add(a[l++],-1);
}
if(z==1e9)puts("impossible");else printf("%d",z);
}
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... |