Submission #1138589

#TimeUsernameProblemLanguageResultExecution timeMemory
1138589PetrixFloppy (RMI20_floppy)C++20
0 / 100
56 ms3908 KiB
#include <iostream> #include <vector> using namespace std; #include "floppy.h" void read_array(int subid, const vector<int>& v){ string rasp="";vector<int> q; int n=v.size(),i; for(i=0;i<n;i++){ while(!q.empty() && v[i]>v[q.back()]){ rasp+="0"; q.pop_back(); } q.push_back(i);rasp+="1"; } save_to_floppy(rasp); } vector<int> solve_queries(int subid,int n,const string& bits,const vector<int> &a,const vector<int> &b){ int i,poz=0,j,st,dr,mij,rasp1; vector<vector<int>> v(n); vector<int> q,rasp((int)a.size()); for(i=0;i<a.size();i++) v[b[i]].push_back(i); for(i=0;i<n;i++){ while(bits[poz]=='0'){ q.pop_back();poz++; } q.push_back(i);poz++; for(j=0;j<v[i].size();j++){ st=0;dr=q.size()-1; while(st<=dr){ mij=(st+dr)/2; if(q[mij]>=a[v[i][j]]){ rasp1=mij;st=mij+1; }else dr=mij-1; } rasp[v[i][j]]=q[rasp1]; } } return rasp; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...