제출 #1343288

#제출 시각아이디문제언어결과실행 시간메모리
1343288mydknDetecting Molecules (IOI16_molecules)C++17
100 / 100
40 ms6168 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define pll pair<ll, ll>
#define emb emplace_back
#define F first
#define S second

vector<int> find_subset(int l, int r, vector<int> w){
	vector<pll> vec;
	vector<int> res;
	int n = w.size();
	for(int i=0;i<n;++i){
		vec.emb(w[i], i);
	}
	sort(vec.begin(), vec.end());
	int lo = 0, hi = 0;
	ll sum = 0;
	bool chk = 0;
	for(int i=0;i<n;++i){
		ll nsum = sum + vec[i].F;
		hi = i;
		if(nsum < l){
			sum = nsum;
		}
		else if(nsum > r){
			sum = sum - vec[lo].F + vec[i].F;
			++lo;
		}
		else{
			chk = 1;
			break;
		}
		if(l <= sum && sum <= r){
			chk = 1;
			break;
		}
	}
	if(!chk) return res;
	for(int i=lo;i<=hi;++i){
		res.emb(vec[i].S);
	}
	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...