# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
74654 | kjain_1810 | Detecting Molecules (IOI16_molecules) | C++17 | 80 ms | 15088 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "molecules.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second
using namespace std;
typedef long long ll;
vector< pair<ll, ll> >vec;
ll u, l;
std::vector<int> find_subset(int L, int U, std::vector<int> w) {
for(ll a=0; a<w.size(); a++)
vec.pb({w[a], a});
sort(vec.begin(), vec.end());
ll ptrf=0, sum=0, u=U, l=L, ptrb=0;
bool flag=false;
while(ptrf<vec.size())
{
while(ptrf<vec.size() && sum<l)
{
sum+=vec[ptrf].f;
ptrf++;
}
if(sum<=u && sum>=l)
{
vector<int>ret;
ret.clear();
for(int a=ptrb; a<ptrf; a++)
ret.pb(vec[a].s);
return ret;
}
while(ptrb<ptrf && sum>u)
{
sum-=vec[ptrb].f;
ptrb++;
}
if(sum<=u && sum>=l)
{
vector<int>ret;
ret.clear();
for(int a=ptrb; a<ptrf; a++)
ret.pb(vec[a].s);
return ret;
}
}
int x=0;
for(int a=vec.size()-1; a>=0; a--)
{
x+=vec[a].f;
if(sum<=u && sum>=l)
{
vector<int>ret;
ret.clear();
for(; a<vec.size(); a++)
ret.pb(vec[a].s);
return ret;
}
}
x=0;
for(int a=0; a<vec.size(); a--)
{
x+=vec[a].f;
if(sum<=u && sum>=l)
{
vector<int>ret;
ret.clear();
for(; a>=0; a--)
ret.pb(vec[a].s);
return ret;
}
}
vector<int>ret;
ret.clear();
return ret;
// for(ll a=1; a<vec.size(); a++)
// {
// if(sum<=u && sum>=l)
// {
// flag=true;
// ptr2=a;
// break;
// }
// sum+=vec[a].f;
// if(sum<=u && sum>=l)
// {
// flag=true;
// ptr2=a+1;
// break;
// }
// while(sum>u)
// {
// sum-=vec[ptr].f;
// ptr++;
// }
// }
// if(!flag)
// {
// vector<int>yo;
// yo.clear();
// return yo;
// }
// vector<int>yo;
// for(ll b=ptr; b<ptr2; b++)
// {
// yo.pb(w[vec[b].s]);
// }
// return yo;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |