답안 #156511

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
156511 2019-10-06T09:22:35 Z a_player Detecting Molecules (IOI16_molecules) C++14
0 / 100
10 ms 8184 KB
#include <bits/stdc++.h>

#define f first
#define s second
#define mp make_pair
#define pb push_back

using namespace std;

//typedef long long ll;

pair<int,int> dp[1001][1001];
int v[1001];

int N,uu,ll;

bool ric(int n,int val){
	if(val>=uu&&val<=ll)return 1;
	if(n==N)return 0;
	if(val>ll)return 0;
	if(dp[n][val].f!=-1)return dp[n][val].f;
	if(ric(n+1,val)){
		dp[n][val].f=1;
		dp[n][val].s=0;
		return 1;
		}
	else if(ric(n+1,val+v[n])){
		dp[n][val].f=1;
		dp[n][val].s=1;
		return 1;
		}
		else {
			dp[n][val].f=0;
			dp[n][val].s=-1;
			return 0;
			}
			return 0;
	}
vector<int> find_subset(int l,int u,vector<int> w){
  uu=u;
ll=l;
  N=w.size();
	for(int i=0;i<1001;i++)
	for(int j=0;j<1001;j++)dp[i][j]=mp(-1,-1);
    for(int i=0;i<w.size();i++)v[i]=w[i];
	ric(0,0);
  vector<int> sol;
	if(dp[0][0].f==0)return sol;
	int val=0;
	int n=0;
	while(val<u){
		if(dp[n][val].s==1){
			sol.push_back(n);
			val+=v[n];
			n++;
			}else n++;
		}
		
		
	return sol;
}

Compilation message

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:45:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<w.size();i++)v[i]=w[i];
                 ~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 8160 KB OK (n = 1, answer = NO)
2 Correct 9 ms 8184 KB OK (n = 1, answer = NO)
3 Correct 9 ms 8184 KB OK (n = 1, answer = YES)
4 Correct 8 ms 8184 KB OK (n = 2, answer = YES)
5 Correct 9 ms 8184 KB OK (n = 2, answer = YES)
6 Correct 8 ms 8184 KB OK (n = 3, answer = YES)
7 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
8 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
9 Incorrect 9 ms 8184 KB Contestant can not find answer, jury can
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 10 ms 8184 KB Contestant can not find answer, jury can
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 8160 KB OK (n = 1, answer = NO)
2 Correct 9 ms 8184 KB OK (n = 1, answer = NO)
3 Correct 9 ms 8184 KB OK (n = 1, answer = YES)
4 Correct 8 ms 8184 KB OK (n = 2, answer = YES)
5 Correct 9 ms 8184 KB OK (n = 2, answer = YES)
6 Correct 8 ms 8184 KB OK (n = 3, answer = YES)
7 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
8 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
9 Incorrect 9 ms 8184 KB Contestant can not find answer, jury can
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 8160 KB OK (n = 1, answer = NO)
2 Correct 9 ms 8184 KB OK (n = 1, answer = NO)
3 Correct 9 ms 8184 KB OK (n = 1, answer = YES)
4 Correct 8 ms 8184 KB OK (n = 2, answer = YES)
5 Correct 9 ms 8184 KB OK (n = 2, answer = YES)
6 Correct 8 ms 8184 KB OK (n = 3, answer = YES)
7 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
8 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
9 Incorrect 9 ms 8184 KB Contestant can not find answer, jury can
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 8160 KB OK (n = 1, answer = NO)
2 Correct 9 ms 8184 KB OK (n = 1, answer = NO)
3 Correct 9 ms 8184 KB OK (n = 1, answer = YES)
4 Correct 8 ms 8184 KB OK (n = 2, answer = YES)
5 Correct 9 ms 8184 KB OK (n = 2, answer = YES)
6 Correct 8 ms 8184 KB OK (n = 3, answer = YES)
7 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
8 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
9 Incorrect 9 ms 8184 KB Contestant can not find answer, jury can
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 8160 KB OK (n = 1, answer = NO)
2 Correct 9 ms 8184 KB OK (n = 1, answer = NO)
3 Correct 9 ms 8184 KB OK (n = 1, answer = YES)
4 Correct 8 ms 8184 KB OK (n = 2, answer = YES)
5 Correct 9 ms 8184 KB OK (n = 2, answer = YES)
6 Correct 8 ms 8184 KB OK (n = 3, answer = YES)
7 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
8 Correct 9 ms 8184 KB OK (n = 3, answer = YES)
9 Incorrect 9 ms 8184 KB Contestant can not find answer, jury can
10 Halted 0 ms 0 KB -