제출 #254428

#제출 시각아이디문제언어결과실행 시간메모리
254428T0p_Detecting Molecules (IOI16_molecules)C++14
100 / 100
63 ms6252 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;

struct DATA
{
	int val, no;
	bool operator < (const DATA & o) const{
		return val < o.val;
	}
};

vector<DATA> v;
vector<int> ans;
deque<DATA> temp;

vector<int> find_subset(int l, int u, vector<int> w)
{
    int n = w.size();
    for(int i=0 ; i<n ; i++)
    	v.push_back({w[i], i});
    sort(v.begin(), v.end());
    long long sum = 0;
    for(int i=0 ; i<n ; i++)
    {
    	sum += v[i].val;
    	temp.push_back(v[i]);
    	while(!temp.empty() && sum > u)
    	{
    		sum -= temp.front().val;
    		temp.pop_front();
    	}
    	if(l <= sum)
    	{
    		while(!temp.empty())
    		{
    			ans.push_back(temp.front().no);
    			temp.pop_front();
    		}
    		return ans;
    	}
    }
    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...