Submission #88648

#TimeUsernameProblemLanguageResultExecution timeMemory
88648NucleistDetecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; vector<int> find_subset(int l, int u, std::vector<int> w) { int k = w.size(); vector <int> kk; vector<int>ff; bool n =false; for(int i=0;i<w.size();i++) {if(w[i]==0&&min(l,u)==0) {ff.push_back(i); n=true; }} int f=l; int compteur=0; l=u; int n = k; if(l==0&&u==0) n=true; if(f==0&&f<u) f++; int sum = max(f,l); bool subset[k+1][max(f,l)+1]; for (int i = 0; i <= n; i++) subset[i][0] = true; for (int i = 1; i <= sum; i++) subset[0][i] = false; for (int i = 1; i <= n; i++) { for (int j = 1; j <= sum; j++) { if(j<w[i-1]) subset[i][j] = subset[i-1][j]; if (j >= w[i-1]) subset[i][j] = subset[i-1][j] || subset[i - 1][j-w[i-1]]; } } bool ka = false; for (int j = min(l,f); j <= max(l,f); j++) { {int kaa=j; if(subset[n][j]) { for(int i = n;i>=1;i--) { if(subset[i-1][kaa-w[i-1]]) { kk.push_back(w[i-1]); kaa -= w[i-1]; compteur++; ka=true; if(kaa==0) break; } } }} } return kk; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<w.size();i++)
                 ~^~~~~~~~~
molecules.cpp:17:9: error: conflicting declaration 'int n'
     int n = k;
         ^
molecules.cpp:8:10: note: previous declaration as 'bool n'
     bool n =false;
          ^