# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
761345 | Trumling | Detecting Molecules (IOI16_molecules) | C++14 | 42 ms | 7120 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>
using namespace std;
typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999999
#define MOD 1000000007
#define all(x) x.begin(),x.end()
vector<int> find_subset(int l, int u, vector<int> W)
{
ll n=W.size();
vector<pair<int,int>>w(n);
for(int i=0;i<n;i++)
w[i]={W[i],i};
sort(all(w));
vector<ll>pre(n);
for(int i=0;i<w.size();i++)
pre[i]=((i==0)?0:pre[i-1]) + w[i].F;
ll L=0,i=0;
bool tf=1;
for(i=0;i<n;i++)
{
ll sum=pre[i]-((L==0)?0:pre[L-1]);
while(sum>u && L<=i)
{
L++;
sum=pre[i]-pre[L-1];
}
if(L>i)
break;
if(sum>=l && sum<=u)
break;
}
vector<int>ans;
if((pre[i]-((L==0)?0:pre[L-1]))<=u && (pre[i]-((L==0)?0:pre[L-1]))>=l)
for(int j=L;j<=i;j++)
ans.pb(w[j].S);
return ans;
}
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... |