Submission #138409

#TimeUsernameProblemLanguageResultExecution timeMemory
138409cfalasDetecting Molecules (IOI16_molecules)C++14
0 / 100
2 ms380 KiB
#include<bits/stdc++.h> using namespace std; #include "molecules.h" typedef pair<int, int> ii; #define S second std::vector<int> find_subset(int l, int u, std::vector<int> w) { vector<ii> sorpos; int f = 0; int s = 0; int n = w.size(); for(int i=0;i<w.size();i++) sorpos.push_back(ii(w[i], i)); for(int i=0;i<n;i++){ if(w[i]==w[0]) f++; else s = w[i]; } for(int i=0;i<=f;i++){ int tot = i*w[0]; /* int added = 0; while(tot<l && s!=0){ tot+=s; added++; } */ int cnt2 = u - tot; if(s!=0) cnt2/=s; if(tot+cnt2*s >= l && tot+cnt2*s <= u && cnt2<=n-f){ vector<int> result; for(int j=0;j<i;j++){ result.push_back(sorpos[j].S); } for(int j=0;j<cnt2;j++){ result.push_back(sorpos[n-j-1].S); } return result; } } return vector<int>(); }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<w.size();i++) sorpos.push_back(ii(w[i], i));
              ~^~~~~~~~~
#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...