Submission #62606

# Submission time Handle Problem Language Result Execution time Memory
62606 2018-07-29T10:17:02 Z Eae02 Detecting Molecules (IOI16_molecules) C++14
0 / 100
4 ms 492 KB
#include "molecules.h"

#include <bits/stdc++.h>
#define all(x) x.begin(),x.end()

struct Item
{
	int weight;
	int index;
	
	bool operator<(const Item& other) const
	{ return weight < other.weight; }
};

std::vector<int> find_subset(int l, int u, std::vector<int> w)
{
	std::vector<Item> items(w.size());
	for (int i = 0; i < w.size(); i++)
	{
		items[i].weight = w[i];
		items[i].index = i;
	}
	
	std::sort(all(items));
	
	std::vector<int> indices;
	auto itemsEnd = items.end();
	
	while (true)
	{
		auto begIt = std::lower_bound(items.begin(), itemsEnd, Item { l, 0 });
		auto endIt = std::lower_bound(items.begin(), itemsEnd, Item { u, 0 });
		
		if (begIt != endIt)
		{
			indices.push_back(begIt->index);
			return indices;
		}
		
		if (begIt == items.begin())
			return {};
		
		itemsEnd = begIt - 1;
		indices.push_back(itemsEnd->index);
		l -= itemsEnd->weight;
		u -= itemsEnd->weight;
	}
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:18:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < w.size(); i++)
                  ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB OK (n = 1, answer = NO)
2 Correct 4 ms 492 KB OK (n = 1, answer = NO)
3 Incorrect 3 ms 492 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 492 KB Contestant can not find answer, jury can
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB OK (n = 1, answer = NO)
2 Correct 4 ms 492 KB OK (n = 1, answer = NO)
3 Incorrect 3 ms 492 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB OK (n = 1, answer = NO)
2 Correct 4 ms 492 KB OK (n = 1, answer = NO)
3 Incorrect 3 ms 492 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB OK (n = 1, answer = NO)
2 Correct 4 ms 492 KB OK (n = 1, answer = NO)
3 Incorrect 3 ms 492 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB OK (n = 1, answer = NO)
2 Correct 4 ms 492 KB OK (n = 1, answer = NO)
3 Incorrect 3 ms 492 KB Contestant can not find answer, jury can
4 Halted 0 ms 0 KB -