Submission #281560

#TimeUsernameProblemLanguageResultExecution timeMemory
281560AKaan37Detecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms384 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; int cev; vector<int> vv; set<PII> st,st1; string s; std::vector<int> find_subset(int l, int u, std::vector<int> v) { sort(v.begin(),v.end()); for(int i=0;i<(int)v.size();i++){ if(v[i]>=l && v[i]<=u){ vv.pb(i); return vv; } } for(int i=0;i<(int)v.size();i++){ auto it=st1.lower_bound({l-v[i],-inf}); if(it!=st1.end()){ vv.pb(i); PII p=*it; vv.pb(p.se); return vv; } st1.insert({v[i],i}); } for(int i=0;i<(int)v.size();i++){ if(v[i]<=u)cev+=v[i]; else continue; flag=0; st.insert({v[i],i}); if(cev>=l && cev<=u){ auto it=st.begin(); while(it!=st.end()){ PII p=*it; vv.pb(p.se); it++; } return vv; } if(cev>u){ auto it=st.begin(); while(it!=st.end()){ PII p=*it; if(cev-p.fi>=l && cev-p.fi<=u){ cev-=p.fi; st.erase(it); break; } 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...