Submission #59169

#TimeUsernameProblemLanguageResultExecution timeMemory
59169TadijaSebezDetecting Molecules (IOI16_molecules)C++11
100 / 100
90 ms6468 KiB
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
const int N=200050;
int id[N],a[N];
bool comp(int i, int j){ return a[i]<a[j];}
vector<int> find_subset(int l, int r, vector<int> w)
{
	int i,j,k,n;n=w.size();
	for(i=1;i<=n;i++) a[i]=w[i-1],id[i]=i;
	sort(id+1,id+1+n,comp);
	j=0;ll sum=0;vector<int> ans;
	for(i=1;i<=n;i++)
	{
		while(sum<l && j<n) sum+=a[id[++j]];
		if(sum<=r && sum>=l)
		{
			for(k=i;k<=j;k++) ans.push_back(id[k]-1);
			return ans;
		}
		sum-=a[id[i]];
	}
	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...