Submission #995686

#TimeUsernameProblemLanguageResultExecution timeMemory
995686kokoueDetecting Molecules (IOI16_molecules)C++14
31 / 100
1101 ms14960 KiB
#include<bits/stdc++.h>
using namespace std;
set<long long> is;
unordered_map<long long,long long> idx;
vector<int> find_subset(int l,int u,vector<int> w)
{
    int n=w.size();
    is.insert(0);
    idx[0]=0;
    int sum=0;
    bool fl=0;
    for(int i=0;i<n;i++)
    {
        for(auto it=is.rbegin();it!=is.rend();it++)
        {
            long long e=*it;
            if(is.find(e+w[i])==is.end())
            {

                is.insert(e+w[i]);
                idx[e+w[i]]=i;
                if(e+w[i]>=l && e+w[i]<=u)
                {
                    sum=e+w[i];
                    fl=1;
                    break;
                }
            }
        }
        if(fl) break;
    }
    vector<int> res;
    while(sum!=0)
    {
        res.push_back(idx[sum]);
        sum-=w[idx[sum]];
    }
    return res;
}
#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...