답안 #61320

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
61320 2018-07-25T15:52:02 Z nvmdava Detecting Molecules (IOI16_molecules) C++17
0 / 100
2 ms 484 KB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
struct mol{
	int loc, val;
	bool operator<(const mol& rhs) const{
		return val <= rhs.val;
	}
};
vector<mol> v;
vector<int> s;

std::vector<int> find_subset(int l, int u, std::vector<int> w) {
	int i, n = w.size();
	mol tmp;
	for( i = 0; i < n; i++){
		tmp.loc = i;
		tmp.val = w[i];
		v.push_back(tmp);
	}
	
	sort(v.begin(), v.end());
	
	s.push_back(0);
	for(i = 0; i < n; i++){
		s.push_back(s[i] + v[i].val);
	}
	
	for( i = 1;i <=n ; i++){
		if(s[i] > u){
			break;
		}
		if(s[n] - s[ n - i] >= l){
			break;
		}
	}
	
	if(s[i] > u){
		return std::vector<int>(0);
	}
	vector<int> ans;
	int j;
	for( j = 1; n -j >=0 ;j++){
		if(s[n - j] - s[n - i + 1 -j] < l){
			ans.push_back(v[n - j].loc);
			l -= v[n - j].val;
			u -= v[n - j].val;
			i--;
			if(i == 0){
				break;
			}
		}
	}
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 248 KB sum of weights should be in [10..12] but it is 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 484 KB sum of weights should be in [302..304] but it is 306
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 248 KB sum of weights should be in [10..12] but it is 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 248 KB sum of weights should be in [10..12] but it is 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 248 KB sum of weights should be in [10..12] but it is 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 248 KB sum of weights should be in [10..12] but it is 9
2 Halted 0 ms 0 KB -