Submission #1239019

#TimeUsernameProblemLanguageResultExecution timeMemory
1239019MinbaevDetecting Molecules (IOI16_molecules)C++20
100 / 100
36 ms4132 KiB
#include "molecules.h"
#include <bits/stdc++.h>

using namespace std;

#define ff first
#define ss second
#define pb push_back

vector<pair<int,int>>tt;
int n;

vector<int> vec(int l, int r){
	vector<int> res;
	for(int i=l;i<=r;i++) res.pb(tt[i].ss);
	return res;
}

vector<int> find_subset(int l, int u, vector<int> w) {
	int n = (int)w.size();
	for(int i=0;i<n;i++) tt.pb({w[i], i});
	sort(tt.begin(), tt.end());
	int lx = 0, r = 0;
	long long sum = tt[0].ff;
	if(sum >= l && sum <= u) return vec(lx, r);
	for(r++;r<n;r++){
		sum += tt[r].ff;
		while(lx <= r && sum > u) sum -= tt[lx].ff, lx++;
		if(l <= sum && sum <= u) return vec(lx, r);
	} return {};
}

Compilation message (stderr)

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...