# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
528720 | groshi | Detecting Molecules (IOI16_molecules) | C++17 | 0 ms | 0 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<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
map<long long,int> mapka;
vector<int> find_subset(long long l,long long u,vector<int> w)
{
long long suma=0;
vector<int> t;
mapka[0]=-1;
for(int i=0;i<w.size();i++)
{
suma+=w[i];
mapka[suma]=i;
auto it=mapka.lower_bound(suma-u);
if(it==mapka.end())
continue;
long long gdzie=it->first;
if(suma-gdzie>=l && suma-gdzie<=u)
{
for(int j=it->second+1;j<=i;j++)
{
t.push_back(w[j]);
}
break;
}
}
return t;
}