Submission #519789

#TimeUsernameProblemLanguageResultExecution timeMemory
519789yhlasDetecting Molecules (IOI16_molecules)C++14
69 / 100
1020 ms12844 KiB
#include "bits/stdc++.h"
using namespace std;
int n, e, l, r, md, jog;
vector<int> a,d;
map <int, long long> p;
vector <pair <int, int>> u;

vector<int> find_subset(int x, int y, vector<int> v){
	n = v.size();
	for (int i = 0; i < n; i++) u.push_back({v[i], i});
	sort(u.begin(), u.end());
	for (int i = 0; i < n; i++) p[i] = p[i - 1] + u[i].first;
	for (int i = 0; i < n; i++){
		l = i; r = n - 1; jog = -1;
		while (l <= r){
			md = (l + r) / 2;
			if (y < p[md] - p[i - 1]) r = md - 1;
			else if (x > p[md] - p[i - 1]) l = md + 1;
			else{
				e = i; jog = md; break;
			}
		}
		if (jog != -1) break;
	}
	for (int i = e; i <= jog; i++) a.push_back(u[i].second);
	sort(a.begin(), a.end());
	return a;
}
#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...