Submission #64423

#TimeUsernameProblemLanguageResultExecution timeMemory
64423mhndDetecting Molecules (IOI16_molecules)C++14
100 / 100
106 ms22356 KiB
#include "molecules.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int N = 3e5+50; const ll oo = 1e18; const ll mod = 1e9+7; vector<int> find_subset(int l, int u, vector<int> w) { vector<pair<int,int>> v; for(int i=0;i<w.size();i++)v.push_back({w[i],i}); sort(v.begin(),v.end()); ll sum=0; int p = 0; vector<int> ans; for(int i=0;i<v.size();i++){ sum+=v[i].first; while(p < v.size() && sum > u)sum -= v[p++].first; if(sum >= l && sum <= u){ for(int x=p;x<=i;x++)ans.push_back(v[x].second); break; } } return ans; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:14:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<w.size();i++)v.push_back({w[i],i});
              ~^~~~~~~~~
molecules.cpp:19:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<v.size();i++){
              ~^~~~~~~~~
molecules.cpp:21:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while(p < v.size() && sum > u)sum -= v[p++].first;
         ~~^~~~~~~~~~
#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...