Submission #1159806

#TimeUsernameProblemLanguageResultExecution timeMemory
1159806Kalata_56OGLEDALA (COI15_ogledala)C++20
0 / 100
4083 ms472504 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(){ ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); 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}}); //cout<<l<<" "<<r<<endl; } pre=mas[i]; } long long L=mas[N-1]+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++; } //cout<<"tuka"<<endl; 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++; //cout<<"Ne"<<endl; } // cout<<"Da"<<endl; 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; // cout<<l<<" "<<r<<endl; 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...