Submission #728378

#TimeUsernameProblemLanguageResultExecution timeMemory
728378sofija6Detecting Molecules (IOI16_molecules)C++14
19 / 100
1 ms300 KiB
#include <bits/stdc++.h>
#include "molecules.h"
using namespace std;

vector<int> find_subset(int l, int u, vector<int> w)
{
    int L=0,R=0,sum=w[0],n=w.size();
    vector<int> ans;
    vector<pair<int,int> > a;
    for (int i=0;i<n;i++)
        a.push_back({w[i],i});
    sort(a.begin(),a.end());
    for (int i=1;i<n;i++)
    {
        if (sum+a[i].first<=u)
        {
            sum+=a[i].first;
            R=i;
        }
    }
    if (sum>=l && sum<=u)
    {
        for (int j=L;j<=R;j++)
            ans.push_back(a[j].second);
        return ans;
    }
    for (int i=R+1;i<n;i++)
    {
        if (sum>=l && sum<=u)
        {
            for (int j=L;j<=R;j++)
                ans.push_back(a[j].second);
            return ans;
        }
        sum-=a[L].first;
        L++;
        R++;
        sum+=a[R].first;
    }
    if (sum>=l && sum<=u)
    {
        for (int j=L;j<=R;j++)
            ans.push_back(a[j].second);
    }
    return ans;
}
#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...