Submission #281571

#TimeUsernameProblemLanguageResultExecution timeMemory
281571AKaan37Detecting Molecules (IOI16_molecules)C++17
100 / 100
222 ms30820 KiB
//Bismillahirrahmanirrahim #include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long lo; typedef pair< lo,lo > PII; #define fi first #define se second #define mp make_pair #define endl "\n" #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) const lo inf = 1000000000; const lo KOK = 100000; const lo LOG = 30; const lo li = 500005; const lo mod = 1000000007; int n,m,b[li],a[li],k,flag,t; lo cev; vector<int> vv; vector<PII> v; set<PII> st,st1; string s; std::vector<int> find_subset(int l, int u, std::vector<int> w) { for(int i=0;i<(int)w.size();i++){ v.pb({w[i],i}); } for(int i=0;i<(int)v.size();i++){ if(v[i].fi>=l && v[i].fi<=u){ vv.pb(i); return vv; } } for(int i=0;i<(int)v.size();i++){ auto it=st1.lower_bound({l-v[i].fi,-inf}); if(it!=st1.end()){ //~ // if(*it+) PII p=*it; if(p.fi+v[i].fi>u)continue; vv.pb(i); vv.pb(p.se); return vv; } st1.insert({v[i].fi,v[i].se}); } sort(v.begin(),v.end()); reverse(v.begin(),v.end()); for(int i=0;i<(int)v.size();i++){ if(v[i].fi<=u)cev+=v[i].fi; else continue; flag=0; st.insert({v[i].fi,v[i].se}); if(cev>=l && cev<=u){ auto it=st.begin(); while(it!=st.end()){ PII p=*it; vv.pb(p.se); it++; } return vv; } while(cev>u){ while(st.size() && cev>u){ auto it=st.end(); it--; PII p=*it; cev-=p.fi; st.erase(it); } } //~ cout<<cev<<" : ; "<<i<<endl; if(cev>=l && cev<=u){ auto it=st.begin(); while(it!=st.end()){ PII p=*it; vv.pb(p.se); it++; } return vv; } } return vv; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...