Submission #102227

# Submission time Handle Problem Language Result Execution time Memory
102227 2019-03-23T17:23:34 Z dnass Detecting Molecules (IOI16_molecules) C++14
9 / 100
3 ms 512 KB
#include "molecules.h"
#include <cstdio>
#include <algorithm>
#include <utility>
#include <vector>
#include <cstring>
using namespace std;

int n;
pair<int, int> wi[200010];
bool chosen[200010];

vector<int> find_subset(int l, int u, vector<int> w) {
	n = (int) w.size();
	vector<int> ans;
	memset(chosen, false, sizeof chosen);
	for(int i=0;i<n;i++) wi[i] = make_pair(w[i], i);
	sort(wi, wi+n);
	int sum = 0;
	int ind = n-1;
	for(int i=0;i<n;i++){
		if(sum+wi[i].first<=u){
			sum += wi[i].first;
			chosen[i] = true;
		}else{
			ind = i-1;
			break;
		}
	}
	if(ind==n-1){
		if(l<=sum&&sum<=u){
			for(int i=0;i<n;i++){
				ans.push_back(i);
			}
		}
		return ans;
	}
	if(l<=sum&&sum<=u){
		for(int i=0;i<n;i++){
			if(chosen[i]){
				ans.push_back(wi[i].second);
			}
		}
		return ans;
	}
	int a = n-1;
	while(chosen[n-a-1]&&!chosen[a]){
		sum += wi[a].first-wi[n-a-1].first;
		chosen[a] = true; chosen[n-a-1] = false;
		if(l<=sum&&sum<=u){
			for(int i=0;i<n;i++){
				if(chosen[i]){
					ans.push_back(wi[i].second);
				}
			}
			return ans;
		}
	}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB OK (n = 1, answer = NO)
2 Correct 2 ms 512 KB OK (n = 1, answer = NO)
3 Correct 2 ms 512 KB OK (n = 1, answer = YES)
4 Correct 2 ms 512 KB OK (n = 2, answer = YES)
5 Correct 2 ms 512 KB OK (n = 2, answer = YES)
6 Correct 2 ms 512 KB OK (n = 3, answer = YES)
7 Correct 2 ms 512 KB OK (n = 3, answer = YES)
8 Correct 3 ms 512 KB OK (n = 3, answer = YES)
9 Correct 2 ms 512 KB OK (n = 3, answer = YES)
10 Correct 3 ms 512 KB OK (n = 3, answer = YES)
11 Correct 2 ms 512 KB OK (n = 3, answer = YES)
12 Correct 2 ms 512 KB OK (n = 3, answer = YES)
13 Correct 3 ms 512 KB OK (n = 3, answer = NO)
14 Correct 2 ms 512 KB OK (n = 3, answer = YES)
15 Correct 2 ms 512 KB OK (n = 3, answer = YES)
16 Correct 2 ms 512 KB OK (n = 3, answer = NO)
17 Correct 2 ms 512 KB OK (n = 3, answer = NO)
18 Correct 2 ms 512 KB OK (n = 100, answer = NO)
19 Correct 2 ms 512 KB OK (n = 100, answer = YES)
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 512 KB Contestant can not find answer, jury can
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB OK (n = 1, answer = NO)
2 Correct 2 ms 512 KB OK (n = 1, answer = NO)
3 Correct 2 ms 512 KB OK (n = 1, answer = YES)
4 Correct 2 ms 512 KB OK (n = 2, answer = YES)
5 Correct 2 ms 512 KB OK (n = 2, answer = YES)
6 Correct 2 ms 512 KB OK (n = 3, answer = YES)
7 Correct 2 ms 512 KB OK (n = 3, answer = YES)
8 Correct 3 ms 512 KB OK (n = 3, answer = YES)
9 Correct 2 ms 512 KB OK (n = 3, answer = YES)
10 Correct 3 ms 512 KB OK (n = 3, answer = YES)
11 Correct 2 ms 512 KB OK (n = 3, answer = YES)
12 Correct 2 ms 512 KB OK (n = 3, answer = YES)
13 Correct 3 ms 512 KB OK (n = 3, answer = NO)
14 Correct 2 ms 512 KB OK (n = 3, answer = YES)
15 Correct 2 ms 512 KB OK (n = 3, answer = YES)
16 Correct 2 ms 512 KB OK (n = 3, answer = NO)
17 Correct 2 ms 512 KB OK (n = 3, answer = NO)
18 Correct 2 ms 512 KB OK (n = 100, answer = NO)
19 Correct 2 ms 512 KB OK (n = 100, answer = YES)
20 Incorrect 2 ms 512 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB OK (n = 1, answer = NO)
2 Correct 2 ms 512 KB OK (n = 1, answer = NO)
3 Correct 2 ms 512 KB OK (n = 1, answer = YES)
4 Correct 2 ms 512 KB OK (n = 2, answer = YES)
5 Correct 2 ms 512 KB OK (n = 2, answer = YES)
6 Correct 2 ms 512 KB OK (n = 3, answer = YES)
7 Correct 2 ms 512 KB OK (n = 3, answer = YES)
8 Correct 3 ms 512 KB OK (n = 3, answer = YES)
9 Correct 2 ms 512 KB OK (n = 3, answer = YES)
10 Correct 3 ms 512 KB OK (n = 3, answer = YES)
11 Correct 2 ms 512 KB OK (n = 3, answer = YES)
12 Correct 2 ms 512 KB OK (n = 3, answer = YES)
13 Correct 3 ms 512 KB OK (n = 3, answer = NO)
14 Correct 2 ms 512 KB OK (n = 3, answer = YES)
15 Correct 2 ms 512 KB OK (n = 3, answer = YES)
16 Correct 2 ms 512 KB OK (n = 3, answer = NO)
17 Correct 2 ms 512 KB OK (n = 3, answer = NO)
18 Correct 2 ms 512 KB OK (n = 100, answer = NO)
19 Correct 2 ms 512 KB OK (n = 100, answer = YES)
20 Incorrect 2 ms 512 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB OK (n = 1, answer = NO)
2 Correct 2 ms 512 KB OK (n = 1, answer = NO)
3 Correct 2 ms 512 KB OK (n = 1, answer = YES)
4 Correct 2 ms 512 KB OK (n = 2, answer = YES)
5 Correct 2 ms 512 KB OK (n = 2, answer = YES)
6 Correct 2 ms 512 KB OK (n = 3, answer = YES)
7 Correct 2 ms 512 KB OK (n = 3, answer = YES)
8 Correct 3 ms 512 KB OK (n = 3, answer = YES)
9 Correct 2 ms 512 KB OK (n = 3, answer = YES)
10 Correct 3 ms 512 KB OK (n = 3, answer = YES)
11 Correct 2 ms 512 KB OK (n = 3, answer = YES)
12 Correct 2 ms 512 KB OK (n = 3, answer = YES)
13 Correct 3 ms 512 KB OK (n = 3, answer = NO)
14 Correct 2 ms 512 KB OK (n = 3, answer = YES)
15 Correct 2 ms 512 KB OK (n = 3, answer = YES)
16 Correct 2 ms 512 KB OK (n = 3, answer = NO)
17 Correct 2 ms 512 KB OK (n = 3, answer = NO)
18 Correct 2 ms 512 KB OK (n = 100, answer = NO)
19 Correct 2 ms 512 KB OK (n = 100, answer = YES)
20 Incorrect 2 ms 512 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB OK (n = 1, answer = NO)
2 Correct 2 ms 512 KB OK (n = 1, answer = NO)
3 Correct 2 ms 512 KB OK (n = 1, answer = YES)
4 Correct 2 ms 512 KB OK (n = 2, answer = YES)
5 Correct 2 ms 512 KB OK (n = 2, answer = YES)
6 Correct 2 ms 512 KB OK (n = 3, answer = YES)
7 Correct 2 ms 512 KB OK (n = 3, answer = YES)
8 Correct 3 ms 512 KB OK (n = 3, answer = YES)
9 Correct 2 ms 512 KB OK (n = 3, answer = YES)
10 Correct 3 ms 512 KB OK (n = 3, answer = YES)
11 Correct 2 ms 512 KB OK (n = 3, answer = YES)
12 Correct 2 ms 512 KB OK (n = 3, answer = YES)
13 Correct 3 ms 512 KB OK (n = 3, answer = NO)
14 Correct 2 ms 512 KB OK (n = 3, answer = YES)
15 Correct 2 ms 512 KB OK (n = 3, answer = YES)
16 Correct 2 ms 512 KB OK (n = 3, answer = NO)
17 Correct 2 ms 512 KB OK (n = 3, answer = NO)
18 Correct 2 ms 512 KB OK (n = 100, answer = NO)
19 Correct 2 ms 512 KB OK (n = 100, answer = YES)
20 Incorrect 2 ms 512 KB Contestant can not find answer, jury can
21 Halted 0 ms 0 KB -