Submission #1159830

#TimeUsernameProblemLanguageResultExecution timeMemory
1159830Kalata_56OGLEDALA (COI15_ogledala)C++20
0 / 100
3934 ms589824 KiB
#include<bits/stdc++.h> using namespace std; long long mas[500001]; long long zaq[500001]; priority_queue<pair<long long,pair<long long,long long> > > opa; int main(){ long long M,N,Q; cin>>M>>N>>Q; for(long long i=0;i<N;i++){ cin>>mas[i]; } long long pre=0; for(long long i=0;i<Q;i++){ cin>>zaq[i]; } for(long long i=0;i<N;i++){ long long l=pre+1,r=mas[i]-1; if((r-l)>=0){ opa.push({(r-l+1),{0-l,0-r}}); } pre=mas[i]; } long long L=pre+1,R=M; if(R-L>=0){ opa.push({R-L+1,{0-L,0-R}}); } long long koj=0; while(zaq[koj]<=N && koj<Q){ cout<<mas[koj]<<endl; koj++; } long long sega=N+1; for(long long i=koj;i<Q;i++){ while(sega<zaq[i]){ pair<long long,pair<long long,long long> > sej=opa.top(); opa.pop(); long long l=0-sej.second.first; long long r=0-sej.second.second; long long mid=(l+r)/2; long long r1=mid-1,l1=l; long long l2=mid+1,r2=r; if(r1-l1>=0){ opa.push({r1-l1+1,{0-l1,0-r1}}); }if(r2-l2>=0){ opa.push({r2-l2+1,{0-l2,0-r2}}); } sega++; } pair<long long,pair<long long,long long> > sej=opa.top(); opa.pop(); long long l=0-sej.second.first; long long r=0-sej.second.second; long long mid=(l+r)/2; cout<<mid<<"\n"; long long r1=mid-1,l1=l; long long l2=mid+1,r2=r; if(r1-l1>=0){ opa.push({r1-l1+1,{0-l1,0-r1}}); }if(r2-l2>=0){ opa.push({r2-l2+1,{0-l2,0-r2}}); } sega++; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...