Submission #156509

# Submission time Handle Problem Language Result Execution time Memory
156509 2019-10-06T09:19:24 Z a_player Detecting Molecules (IOI16_molecules) C++14
Compilation error
0 ms 0 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){
	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:15:10: error: 'int ll' redeclared as different kind of symbol
 int N,uu,ll;
          ^~
molecules.cpp:10:19: note: previous declaration 'typedef long long int ll'
 typedef long long ll;
                   ^~
molecules.cpp: In function 'bool ric(int, int)':
molecules.cpp:18:21: error: expected primary-expression before ')' token
  if(val>=uu&&val<=ll)return 1;
                     ^
molecules.cpp:20:11: error: expected primary-expression before ')' token
  if(val>ll)return 0;
           ^
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:42:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<w.size();i++)v[i]=w[i];
                 ~^~~~~~~~~