Submission #131631

#TimeUsernameProblemLanguageResultExecution timeMemory
131631nekiDetecting Molecules (IOI16_molecules)C++14
46 / 100
1074 ms1568 KiB
#include "molecules.h" #include <bits/stdc++.h> #define loop(i, a, b) for(int i=a;i<b;i++) #define cc(a) cout<< a << endl; using namespace std; std::vector<int> find_subset(int l, int u, std::vector<int> w) { map<int, int> dp;dp[0]=-1; vector<int> ans; loop(i, 1, w.size()+1){ auto dp2=dp; for(auto&& j: dp2) if(j.first+w[i-1]<=u and dp[j.first+w[i-1]]==0) dp[j.first+w[i-1]]=i; auto it=dp.lower_bound(l); if(it!=dp.end() and it->second!=0 and l<=it->first and it->first<=u){ int cnt=it->first; while(cnt!=0){ ans.push_back(dp[cnt]-1); cnt-=w[dp[cnt]-1]; } break; } } return ans; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:5:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define loop(i, a, b) for(int i=a;i<b;i++)
molecules.cpp:12:10:
     loop(i, 1, w.size()+1){
          ~~~~~~~~~~~~~~~~           
molecules.cpp:12:5: note: in expansion of macro 'loop'
     loop(i, 1, w.size()+1){
     ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...